基于对象原型函数的AngularJS滤波
我想使用在repeat项的原型上定义的函数过滤ng repeat,但我找不到任何说明这是否实际可行的参考。差不多基于对象原型函数的AngularJS滤波,angularjs,angularjs-ng-repeat,angularjs-filter,Angularjs,Angularjs Ng Repeat,Angularjs Filter,我想使用在repeat项的原型上定义的函数过滤ng repeat,但我找不到任何说明这是否实际可行的参考。差不多 <div ng-repeat="user in users | filter:{'isAdmin()': true} | orderBy:'getFullName()'"> {{user.getFullName()}} </div> {{user.getFullName()}} 其中isAdmin返回一个布尔值。orderBy使用这种符号,但fi
<div ng-repeat="user in users | filter:{'isAdmin()': true} | orderBy:'getFullName()'">
{{user.getFullName()}}
</div>
{{user.getFullName()}}
其中isAdmin返回一个布尔值。orderBy使用这种符号,但filter似乎不能使用我尝试的任何符号。如果没有检查isAdmin()的单独函数,有没有办法实现这一点?您可以调用控制器中定义的函数:
$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>
{{user.getFullName()}}
或创建一个,例如:
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;
};
}
]);
app.filter('isAdmin',[function(){
返回函数(用户){
var筛选=[];
对于(var i=0;i
并在HTML中使用它,如下所示:
<div ng-repeat="user in users | isAdmin | orderBy:'getFullName()'">
{{user.getFullName()}}
</div>
{{user.getFullName()}}
这里有一个