2016-11-09 104 views
2

我阵列上的项目上ngRepeat过滤看起来是这样的:AngularJS无钥匙

[ 
    {name:'John',IsManager:true}, 
    {name:'Terry'}, 
    {name:'Sam'}, 
    {name:'Andy'} 
] 

我试图得到它显示所有的人们,IsManager属性:Terry, Sam, and Andy

这是我到目前为止有:

<span ng-repeat="user in Users | filter: {?????}"> 
    {{user.name}} 
</span> 

如何设置此过滤器?这可以在不使用定制过滤器的情况下完成吗?

+1

'<跨度纳克重复= “用户在用户” NG-如果= “user.IsManager”>中的用户' – tymeJV

+0

<跨度纳克重复=“用户|过滤:user.isManager“> – rrd

回答

4

查看:

<span ng-repeat="user in Users | filter:filterOutNonManagers"> 
    {{user.name}} 
</span> 

控制器:

$scope.filterOutNonManagers = function(user) { 
    return !user.IsManager; 
}; 
+0

我希望能保持在线,但我想我必须做出对似乎后端的过滤器由于 – kei

+0

也许这会帮助你 - http://stackoverflow.com/questions/ 25177004/ng-repeat-filter-for-where-attribute-is-undefined –

+0

只要使用ng-if,如果你想保持内联。 =“!user.IsManager”> –

2

在这里你去:(它不会对角1.3.15由于固定在下一版本1.3.16错误工作)

var app = angular.module("sa", []); 
 

 
app.controller("FooController", function($scope) { 
 

 
    $scope.Users = [{ 
 
    name: 'John', 
 
    IsManager: true 
 
    }, { 
 
    name: 'Terry' 
 
    }, { 
 
    name: 'Sam' 
 
    }, { 
 
    name: 'Andy' 
 
    }]; 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular.min.js"></script> 
 

 
<div ng-app="sa" ng-controller="FooController"> 
 
    <span ng-repeat="user in Users | filter: {IsManager: '!'}"> 
 
     {{user.name}} 
 
    </span> 
 
</div>

+0

感谢。我的版本是不行的角度(1.3.15)虽然,这个问题也已在该链接的评论提出。 – kei

+1

是的,在1.3.15一个错误,这错误只在下一个版本中修复https://github.com/angular/angular.js/blob/master/CHANGELOG.md#1316-cookie-oatmealification-2015-06-05 –

+1

https://github.com/angular /angular.js/commit/9dd0fe35d1027e59b84b2396abee00d8683f3b50 –