Ng重复中的角度设定等级

时间:2013-08-27 14:31:36

标签: javascript angularjs

我正在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或向控制器添加内容。

1 个答案:

答案 0 :(得分: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
  };
};