Javascript Angularjs-如何查看值是否在数组中?

Javascript Angularjs-如何查看值是否在数组中?,javascript,angularjs,Javascript,Angularjs,我有一个类似的模型: model = [ { name: 'Chris', age: '29', approvedBy: ['id1', 'id2', 'id3'] }, { // repeat... } ] 在我看来,我有一个ng重复模型,有一个按钮批准或不批准用户 基本上,其他用户可以批准或不批准该用户(如果之前已批准)。非常类似于或不同于FB帖子 <div ng-repeat='user in model'> <p>Name:

我有一个类似的模型:

model = [
 {
   name: 'Chris',
   age: '29',
   approvedBy: ['id1', 'id2', 'id3']
 },
 {
   // repeat...
 }
]
在我看来,我有一个ng重复模型,有一个按钮批准或不批准用户

基本上,其他用户可以批准或不批准该用户(如果之前已批准)。非常类似于或不同于FB帖子

<div ng-repeat='user in model'>
  <p>Name: {{user.name}} - Age: {{user.age}}</p>
  <p>Approved by {{user.approvedBy.length}} users.</p>
  <button>Approve {{user.name}}</button>
</div>

如何在Angularjs中创建类似的内容?

一个简单的方法是:

将自定义筛选器添加到控制器,然后在视图中使用它:

在控制器中:

$scope.model = [...];
$scope.approveTextFilter = function (user) {
   return user.approvedBy.indexOf(currentUserId) !== -1 ? 'Disapprove' : 'Approve';
};
<div ng-repeat='user in model'>
   ...
   ...
   <button ng-bind="user | filter:approveTextFilter"></button>
</div>
视图中:

$scope.model = [...];
$scope.approveTextFilter = function (user) {
   return user.approvedBy.indexOf(currentUserId) !== -1 ? 'Disapprove' : 'Approve';
};
<div ng-repeat='user in model'>
   ...
   ...
   <button ng-bind="user | filter:approveTextFilter"></button>
</div>

...
...

您所尝试的应该可以工作,至少如果使用正确(请注意返回值)。这正是我想要的