我有一个可以打印列表项的ng-repeat。我想编写一个自定义过滤器,以便只有在条件为真时才会打印列表项。AngularJS - 如何使用ng-repeat构造自定义过滤器以有条件地返回物品
我似乎有错误的结构,因为它似乎变量没有通过过滤器。
的index.php
<div ng-show="userDetails.username" class="nav">
<p>Menu</p>
<li ng-repeat="menuItem in menu | matchAccessLevel:$rootScope.userDetails.accessLevel:menuItem.minAccess | orderBy:'position' ">
<a ng-href="/angular-app/app/{{menuItem.id}}">{{menuItem.name}}</a>
</li>
</div>
app.js
userApp.filter('matchAccessLevel', function() {
return function(item, userAccessLevel, minAccessLevel) {
if(userAccessLevel >= minAccessLevel) {
return item;
}
}
});
非常感谢您的解释。看来我明白过滤器如何正确工作。这使得它更清晰。 – Fisu 2013-03-04 09:20:32
我得不到正确的是争论的事情。有没有关于过滤器如何提供参数/参数的任何文档? – mrzmyr 2013-06-09 22:50:07
总是检查函数的参数。它并不总是很明显的值是什么 – MurWade 2014-09-30 01:00:39