2013-03-02 97 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

回答