0

Angular 文档对于条件中的“表达式”中可接受的内容非常稀疏ng-class

例如,我正在运行ng-repeat一个列表:

<ul class="clothes">
  <li ng-repeat="piece in clothes | filter:query">
    {{piece.name}}
  </li>
</ul>

在每第三个<li>元素上,我想添加一个“第三个”类。这可以使用类似或类似ng-class的东西来完成吗?ng-class="{third : li:nth-child(3)}"

旁注,在某个地方是否有一个通用参考来定义并给出可以在 Angular 表达式中使用的示例?我可以用 vanilla Javascript/css 做一些非常基本的事情,但我不知道如何将它塞进 Angular!

4

2 回答 2

2

只需创建一个计算结果为真或假的表达式,有点类似于 Javascript 表达式,但有一些区别,您可以在此处阅读。

<ul>
      <li ng-repeat="item in items" ng-class="{third: !(($index+1)%3) && !$first }">{{item}}</li>
</ul>

这是一个jsBin

在我的代码中,我告诉 ng-class 当 ($index+1)%3 为零并且它不是 $first 列表项($index、$first 和 $last 由 ng- 创建时)添加类 'third'重复)。

于 2013-05-12T12:15:26.533 回答
1

如果你想使用 css 而不是 angular 作为样式,你可以使用 css nth 选择器

http://www.w3schools.com/cssref/sel_nth-child.asp

li:nth-child(3n+3) { 背景:#ff0000; }

于 2013-05-12T12:21:51.943 回答