我如何创建一个指令来将类应用于重复的项目,如奇数/偶数

时间:2014-02-25 18:48:46

标签: angularjs

我意识到Angular中有一个指令在ng-repeat中应用奇数/偶数类,但我需要添加3种类型的类,如下图所示。不确定如何去做。

http://f.cl.ly/items/2Q2p0S3G3S2U0T2b453o/Screen%20Shot%202014-02-25%20at%2016.07.53.png

3 个答案:

答案 0 :(得分:4)

ng-repeat内的范围有几个额外的变量,包括$ index。你可以用这样的方式使用它:

<div ng-repeat="element in collection" ng-class="['left', 'center', 'right'][$index % 3]">{{element.attribute}}</div>

$index是您要迭代的数组中元素的索引。我们采用$ index和3的模数,写为$index % 3,返回$index的余数除以3。

答案 1 :(得分:2)

使用ng-class指令执行此操作:

<div ng-repeat="item in items" ng-class="{left: $index%3 === 0, middle: $index%3 === 1, right: $index%3 === 2}"></div>

ng-class的使用意味着:如果left附加$index % 3 === 0类,依此类推。

答案 2 :(得分:2)

请找到相同的小提琴 fiddle

您可以使用$ index of ng-repeat来设置类。

<div ng-repeat="item in items" ng-class="{left:$index%3==0,middle:$index%3==1,right:$index%3==2}">