AngularJS ngRepeat:如何区分偶数/奇数元素?

bat*_*man 11 angularjs

我是棱角分明的新手,并尝试做以下事情:

<tr data-ng-repeat="element in awesomeThings">
<div ng-if="$index %2 == 0">
    <td class="even">
        <a href="#">
            {{element}}
        </a>
    </td>
</div>
<div ng-if="$index %2 != 0">
    <td class="odd">
        <a href="#">
            {{element}}
        </a>
    </td>
</div>
</tr>
Run Code Online (Sandbox Code Playgroud)

对于上面的代码,两者ng-if都是通过.我在哪里弄错了?

whe*_*ell 21

尝试$even$odd属性.请参阅文档.

喜欢 :

<tr data-ng-repeat="element in awesomeThings">
<div ng-if="$even">
    <td class="even">
        <a href="#">
            {{element}}
        </a>
    </td>
</div>
<div ng-if="$odd">
    <td class="odd">
        <a href="#">
            {{element}}
        </a>
    </td>
</div>
</tr>
Run Code Online (Sandbox Code Playgroud)


aar*_*sil 11

您不需要使用ng-if来检查它是偶数还是奇数元素,该功能已经内置:

    <tr ng-repeat="element in awesomeThings">
        <span ng-class="$even ? 'odd' : 'even'">{{element}}</span>
   </tr>
Run Code Online (Sandbox Code Playgroud)

另一个内置功能是ng-class为您提供了几个有条件地设置css类的选项,这里我使用的是三元版本,但还有其他方法可以使用它.

这是一个有效的例子

另外,这里有一篇很好的文章解释了更多ng-class