NG在列表长度上重复使用过滤器

时间:2014-11-27 11:44:19

标签: angularjs angularjs-ng-repeat

我正在使用AngularJS NG-Repeat指令。我正在使用一个看起来像这样的对象。

{
    "filters": [
        {
            "name": "Test",
            "items": [
                {
                    "id": "1207700620",
                      "checked": true
                },
                {
                    "id": "1207825584",
                     "checked": true
                },
                {
                    "id": "1207969166",
                    "checked": true
                }
            ]
        },
        {
            "name": "Empty",
            "items": [] // This record must be ignored
        }
    ]
}

我使用下面的代码来使用ng-repeat

<li ng-repeat="filter in myData.filters"> 
       {{filter.name}}

问题:我只想显示项目数组长度为&gt;的那些记录(名称) 0.如何应用过滤器?

1 个答案:

答案 0 :(得分:0)

我就是这样做的:

在html页面上:

<li ng-repeat="filter in myData.filters | filter: filterOnLength">

在控制器中,按名称filterOnLength和控制器添加了一个函数:

$scope.filterOnLength = function(item){
              return item.items.length > 0;
      }