Update:Angular 1.1.5增加了ternary operator,所以现在我们可以简单地写
<li ng-class="$first ? 'firstRow' : 'nonFirstRow'">
如果您使用的是Angular的早期版本,则有两种 Select :
(condition && result_if_true || !condition && result_if_false)
个{true: 'result_if_true', false: 'result_if_false'}[condition]
项目2.上面创建了一个具有两个属性的对象.数组语法用于 Select 名为true的属性或名为false的属性,并返回关联的值.
例如.,
<li class="{{{true: 'myClass1 myClass2', false: ''}[$first]}}">...</li>
or
<li ng-class="{true: 'myClass1 myClass2', false: ''}[$first]">...</li>
$first在第一个元素的ng repeat中被设置为true,因此上面的代码只会在循环的第一次应用类"myClass1"和"myClass2".
对于ng-class,有一种更简单的方法:ng类接受一个表达式,该表达式必须计算为以下值之一:
上面给出了1)的示例.这里有一个3的例子,我认为它读起来要好得多:
<li ng-class="{myClass: $first, anotherClass: $index == 2}">...</li>
第一次通过ng重复循环,添加了类myClass.第三次到($index从0开始),将添加另一个类.
ng-style takes an expression that must evaluate to a map/object of CSS style names to CSS values. 例如.,
<li ng-style="{true: {color: 'red'}, false: {}}[$first]">...</li>