14

我在一个列表中创建一个列表ng-repeat,我需要给所有li元素谁是他们父亲的第n个或更多的孩子,一个特定的类(在我们的ng-repeat这意味着所有孩子的索引大于中间)。例如,如果列表是 10 项,我需要给第 5、6...10 个li孩子上课。因此,如果我的代码是这样的-

 [ul]
    [li  ng-repeat="friend in friends"]
       {{friend.name}} who is {{friend.age}} years old.
    [/li]
  [/ul]

为中等及以上指数的孩子分配班级的可能且好的方法是什么?我的条件是我不应该改变 html 的结构。我可以directives\filters向控制器添加或添加东西。

4

1 回答 1

29

只需ng-class在重复的元素上使用,例如:

<li
  ng-repeat="friend in friends"
  ng-class="{special: $index > friends.length / 2 - 1}">

  {{friend.name}}
</li>

演示:http: //jsbin.com/iFigAYi/1/


或提取逻辑,例如:

<ul>
  <li ng-repeat="friend in friends" ng-class="getClass($index, friends)">
    {{friend.name}}
  </li>
</ul>

$scope.getClass = function getClass(idx, list) {
  return {
    special: idx > list.length / 2 - 1
  };
};
于 2013-08-27T14:48:37.617 回答