你可以调用在控制器中定义的函数:
$scope.isAdmin = function(x) {
if (x.name == 'bob') {
return true;
}
}
函数必须返回true或false。
,并在你的HTML中使用它:
<div ng-repeat="user in users | filter:isAdmin | orderBy:'getFullName()'">
{{user.getFullName()}}
</div>
或创建custome filter,例如:
app.filter('isAdmin', [function() {
return function(users) {
var filtered = [];
for (var i = 0; i < users.length; i++) {
var user = users[i];
//here you can use what ever function you want to check if user is admin
if (user.name == 'bob') {
filtered.push(user);
}
}
return filtered;
};
}
]);
,并用它在你的HTML像这样:
<div ng-repeat="user in users | isAdmin | orderBy:'getFullName()'">
{{user.getFullName()}}
</div>
这里是一个plnkr
写自定义过滤器 – Lrrr 2014-10-05 12:11:00