2013-03-02 99 views
1

我想用我的定制过滤器和ngRepeat指令。以下是我有AngularJS - 使用ngRepeat指令定制过滤器

HTML:

<div ng-app="menuApp"> 
    <ul ng-controller="MenuCtrl"> 
     <li ng-repeat="item in menuItems | rootCategories"> 
      {{item.Name}} 
     </li> 
    </ul> 
</div> 

JS:

angular.module('menuApp', []) 
    .filter('rootCategories', function() { 
     return function(item) { 
      return item.Parent == 0; 
     }; 
    }); 

function MenuCtrl($scope) { 
    $scope.menuItems = [{ "Id": 1, "Name": "Sweep", "Parent": 0 }]; 

    /* 
    $scope.rootCategories = function(item) { 
     return item.Parent == 0; 
    }; 
    */ 
}; 

我不想用注释的方式来过滤我的项目,因为真正的过滤器将不是很复杂在提供的例子中。由于某些原因,输入参数“item”没有定义,因此我什么都看不到。你能告诉我什么是错的吗?谢谢。

+0

我已经发现了下面的评论:“校正:NG-重复内的自定义过滤器通过的整个关联数组作为输入,不每个对象的关键/值,或者{{keyword.values}},正如我之前误解的那样。“但是不能发明一种巧妙的方式来应用它。 – Antipod 2013-03-02 05:49:54

+0

我找到了以下帮助我解决问题的链接:http://stackoverflow.com/questions/11753321/passing-arguments-to-angularjs-filters – Antipod 2013-03-02 06:15:51

回答