多重检查的最佳方法是以角度

时间:2015-12-17 06:41:51

标签: javascript angularjs angularjs-scope

我想要最好的方法来检查一个值是否在角度数组中,这个测试在我的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。感谢的

1 个答案:

答案 0 :(得分:2)

您可以使用 ng-init

试试这个

<div ng-repeat="item in items" ng-init="index=flaggedItems.indexOf(item)">
  <p ng-if="index>-1">flagged !</p>
</div>