当值大于时,AngularJS:ng-repeat过滤器

前端之家收集整理的这篇文章主要介绍了当值大于时,AngularJS:ng-repeat过滤器前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个简单的ng重复抛出数据,显示的字段之一是NumberOfStamps:
<tr ng-repeat-start="list in Data.Items ">
   <td><a href=" {[{list.Title}]} {[{list.ForeName}]} {[{list.SurName}]}</a></td>
   <td>(Date of Birth {[{list.Dob}]})</td>
   <td>{[{list.NumberOfStamps}]}  stamps</td>
</tr>

示例输出

Mr Adam Happy  Date of Birth 01/6/1984     16 stamps
Mr Adam Sad    Date of Birth 24/11/1975    0 stamps
Mr Adam Green  Date of Birth 02/1/1963     1 stamps
Mr Adam Red    Date of Birth 21/1/1951     12 stamps
Mr Adam Blue   Date of Birth 28/10/1998    0 stamps
Mr Adam Brown  Date of Birth 25/9/2010     0 stamps
Mr Adam Black  Date of Birth 24/8/1954     21 stamps
Mr Adam Violet Date of Birth 17/5/1942     54 stamps

如何修改这个ng-repeat只显示NumberOfStams为> 0?我试过了:

<tr ng-repeat-start="list in Data.Items | filter:{NumberOfStamps > 0}">
   <td><a href=" {[{list.Title}]} {[{list.ForeName}]} {[{list.SurName}]}</a></td>
   <td>(Date of Birth {[{list.Dob}]})</td>
   <td>{[{list.NumberOfStamps}]}  stamps</td>
</tr>

预期输出

Mr Adam Happy  Date of Birth 01/6/1984     16 stamps
Mr Adam Green  Date of Birth 02/1/1963     1 stamps
Mr Adam Red    Date of Birth 21/1/1951     12 stamps
Mr Adam Black  Date of Birth 24/8/1954     21 stamps
Mr Adam Violet Date of Birth 17/5/1942     54 stamps
在相关范围上创建谓词函数
$scope.greaterThan = function(prop,val){
    return function(item){
      return item[prop] > val;
    }
}

作为第一个参数,它需要对象上的属性名称。第二个参数是一个整数值。

在你的视图中使用它,像这样:

<tr ng-repeat-start="list in Data.Items | filter: greaterThan('NumberOfStamps',0)">

Demo

猜你在找的Angularjs相关文章