我想将自定义过滤器与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 :(得分:5)
请看看这个小提琴。 http://jsfiddle.net/bKFXy/。
这使用传递谓词对象作为过滤器表达式的语法。
item in menuItems | filter:{Parent:0}
还有另一种过滤方法,其中的小提琴是http://jsfiddle.net/kd5dv/