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