【问题标题】:angular js table odd column data issue角度js表格奇数列数据问题
【发布时间】:2017-09-21 02:44:11
【问题描述】:

我是 Angular JS 的新手,并且在桌子上工作以使背景颜色发生奇数/偶数变化,但是我面临一些挑战。

这是我的代码

<!DOCTYPE html>
<html>
<style>
table, td  {
  border: 1px solid grey;
  border-collapse: collapse;
  padding: 5px;
}
</style>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script>
<body>

<div ng-app="myApp" ng-controller="customersCtrl"> 

<table>
<tr> <td style="background-color:green">Name</td> <td style="background-color:green">Country</td></tr>  
  <tr ng-repeat="x in names">
    <td ng-if="$odd" style="background-color:#f1f1f1">
    {{ x.Name }}</td>
    <td ng-if="$even">
    {{ x.Name }}</td>
    <td ng-if="$odd" style="background-color:#f1f1f1">
    {{ x.Country }}</td>
  </tr>
</table>

</div>

<script>
var app = angular.module('myApp', []);
app.controller('customersCtrl', function($scope, $http) {
    $http.get("http://localhost:8080/getCustomer")
    .then(function (response) {$scope.names = response.data.records;});
});
</script>

</body>
</html>

我得到的输出是不可取的,奇怪的国家数据是空白的。

【问题讨论】:

  • 您可以在 CSS 中执行此操作:- tr:nth-child(odd) { background-color: #ccc; }

标签: angularjs


【解决方案1】:

使用下面的代码,我认为列国家/地区的奇数条件缺失

<table>
<tr> <td style="background-color:green">Name</td> <td style="background-color:green"> Country</td></tr> 
  <tr ng-repeat="x in names">
    <td ng-if="$odd" style="background-color:#f1f1f1">
    {{ x.Name }}</td>
    <td ng-if="$even">
    {{ x.Name }}</td>
    <td ng-if="$odd" style="background-color:#f1f1f1">
    {{ x.Country }}</td>
    <td ng-if="$even">
    {{ x.Country }}</td>
  </tr>
</table>

【讨论】:

    【解决方案2】:

    您可以使用更简单、更简洁的 CSS 代码来实现。

    table tr:nth-child(odd) td{
      //your style
    }
    table tr:nth-child(even) td{
    }
    

    您还可以定义基本背景颜色,然后只使用奇数/偶数。

    【讨论】:

      【解决方案3】:

      您可以使用 CSS 来更改背景颜色。

      <style>
      table, td  {
        border: 1px solid grey;
        border-collapse: collapse;
        padding: 5px;
      }
      
      tr:nth-child(odd) { background-color: #f1f1f1; }
      </style>
      

      您的数据未正确显示的原因是您使用ng-if="$odd" 为奇数列应用样式。

      因此,将您的 HTML 更改为以下方式并从 CSS 添加背景颜色。

        <table>
          <tr> <td style="background-color:green">Name</td> <td style="background-color:green">Country</td></tr>  
            <tr ng-repeat="x in names">
              <td>
              {{ x.Name }}</td>
              <td>
              {{ x.Name }}</td>
              <td>
              {{ x.Country }}</td>
            </tr>
          </table>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-08-28
        • 2016-01-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-03-08
        • 2018-05-13
        • 1970-01-01
        相关资源
        最近更新 更多