我想要最好的方法来检查一个值是否在角度数组中,这个测试在我的html中验证了2次。这是解释我的问题的一个非常简单的例子:
范围:
$scope.flaggedItems = ['a', 'c', 'e'];
$scope.items = ['a', 'b', 'c', 'd', 'e', 'f', 'g'];
in html
<div ng-repeat="item in items">
<p>{{ item }}</p>
<p ng-if="flaggedItems.indexOf(item)>-1">flagged !</p>
<p ng-if="flaggedItems.indexOf(item)==0">not flagged.</p>
</div>
使用此解决方案,我调用方法“indexOf”2次。这不好... 那么如何在这个html中添加一个可访问的变量,只运行一次方法indexOf。感谢的
答案 0 :(得分:2)
您可以使用 ng-init
试试这个
<div ng-repeat="item in items" ng-init="index=flaggedItems.indexOf(item)">
<p ng-if="index>-1">flagged !</p>
</div>