是否知道如何检查(在视图中)给定数组中是否存在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
数组被更改时启动。
提前致谢。
答案 0 :(得分: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>