Javascript Angularjs-基于数组中id的存在显示元素

Javascript Angularjs-基于数组中id的存在显示元素,javascript,angularjs,Javascript,Angularjs,有人知道如何(在视图中)检查给定数组中是否存在id吗 假设我有这样一个数组: var arr = [123, 456, 789]; 还有这样一个数据源: var data = [ {id: 123, name: 'foo'}, {id: 456, name: 'bar'}, {id: 789, name: 'baz'} ]; 现在在视图中迭代数据数组时,我想根据arr中的id显示/隐藏元素,如下所示: <div ng-repeat="item in data">

有人知道如何(在视图中)检查给定数组中是否存在id吗

假设我有这样一个数组:

var arr = [123, 456, 789];
还有这样一个数据源:

var data = [
  {id: 123, name: 'foo'},
  {id: 456, name: 'bar'},
  {id: 789, name: 'baz'}
];
现在在视图中迭代
数据
数组时,我想根据
arr
中的
id
显示/隐藏元素,如下所示:

<div ng-repeat="item in data">
    <span ng-show="item.id in arr"></span>
</div>

由于明显的原因,arr中的上述代码
项.i当然不起作用。有人知道如何实现这一功能吗?更不用说,每当
arr
数组被更改时,ng show块应该始终启动


提前感谢。

您可以在自己的范围内创建一个方法

function MyCtrl( $scope ) {
  $scope.data = ...

  $scope.enabled = ...


  $scope.visible = function (id ) { 
    return $scope.enabled.indexOf(id) > -1
  } 

}


这个问题被否决的具体原因是什么?
<span ng-show="visible(item.id)" ></span>