1

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

可以说我有一个像这样的数组:

var arr = [123, 456, 789];

和这样的数据源:

var data = [
  {id: 123, name: 'foo'},
  {id: 456, name: 'bar'},
  {id: 789, name: 'baz'}
];

现在在遍历data数组时的视图中,我想根据类似的存在来显示/隐藏id元素arr

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

出于明显的原因,上面的代码item.i in arr当然不起作用。任何人都知道如何实现该功能?更不用说 ng-show 块应该总是在arr数组改变时启动。

提前致谢。

4

1 回答 1

3

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

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

  $scope.enabled = ...


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

}

<span ng-show="visible(item.id)" ></span>
于 2013-07-01T14:11:47.133 回答