你可以調用在控制器中定義的函數:
$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