表格TD中的Angular-js ng-if问题

时间:2016-07-29 13:55:36

标签: angularjs

我试图隐藏一个td,当得到一个值= 0时, 我输入了

<table>
<tr ng-repeat="row in typeData"
<td ng-if="row.AMOUNTPAID >      0">@{{row.AMOUNTPAID}}</td>
</tr>
</table>

td没有隐藏,我试过 - 显示它有效,但是ng-show在css上工作,并且一个空的空间仍然显示在带有td边框的表中。

我读到有关更新angular-js将解决问题,我有1.4.6它有ngif指令但不能正常工作。

请帮忙吗?

1 个答案:

答案 0 :(得分:0)

很难看到您的数据对象是如何定义的,请在下方找到可能的解决方案。我做了一个样本,提供了一些虚拟数据。

另见JSFiddle

您的示例中的问题是:

缺少tr关闭标记
<tr ng-repeat="row in typeData"

查看

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

    <table>
      <tr ng-repeat="row in data">  
        <td>{{row.name}}</td>
        <td ng-if="row.amountpaid > 0">{{row.amountpaid}}</td>
        <td ng-if="row.amountpaid <= 0">NO PAYMENT YET</td>
      </tr>
    </table>

  </div>
</div>

<强> CONTROLLER

var myApp = angular.module('myApp', []);

// controller
myApp.controller("testCtrl", function($scope) {
  // set data
  $scope.data = [{
    'name': 'bot1',
    'amountpaid': '145'
  }, {
    'name': 'bot2',
    'amountpaid': '10'
  }, {
    'name': 'bot3',
    'amountpaid': '5'
  }, {
    'name': 'bot4',
    'amountpaid': '0'
  }, {    
    'name': 'bot5',
    'amountpaid': '0'
  }];

})