在ngRepeat中参数条件的正确方法是什么?

时间:2015-08-18 16:24:17

标签: angularjs

我想根据ngRepeat-value的aproperty更改元素的类。 以下变体的工作

SearchCategory是$ scope中的字符串,Categories是$ scope范围内的对象数组。

变式1:

<li ng-repeat="category in Categories" 
    ng-class="SearchCategory==category.name?'active':''" >
    some text
</li>

变式2:

<li ng-repeat="category in Categories" 
    ng-class="SearchCategory=='{{category.name}}'?'active':''" >
    some text
</li>

不同之处在于,在第二个变体中的devmode(F12)中,类别被替换。由于两种变体似乎都有效,哪一种变得更好&#34;或建议的方法?

2 个答案:

答案 0 :(得分:6)

这可能是最好的,也是最常规的:

<li ng-repeat="category in Categories" ng-class="{'active':SearchCategory===category.name}">
    some text
</li>

答案 1 :(得分:1)

使用此:

<li ng-repeat="category in Categories" 
    ng-class="({active : SearchCategory==category.name, non_active : SearchCategory!=category.name})">
    some text
</li>