AngularJS对没有键的项进行ngRepeat过滤

AngularJS filtering on ngRepeat on items without key

本文关键字:ngRepeat 过滤 AngularJS      更新时间:2023-09-26

我的数组是这样的:

[
  {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>

我如何设置这个过滤器?这可以在不使用自定义过滤器的情况下完成吗?

View:

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

控制器:

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

给你:(由于下一个1.3.16版本修复了一个错误,它不能在Angular 1.3.15上工作)

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>