angularjs中使用ng-repeat渲染最后一个li的时候设置不同样式

如题所示,比如我要在下面的代码的最后一个li节点添加一个样式

<li ng-repeat="one in many">
  {{one.name}}
</li>
那么我就可以这样加

<li ng-repeat="one in many" ng-class="{'item-last':$last}">
  {{one.name}}
</li>

还有一种方法就是使用js计算的方法

<li ng-repeat="one in many" ng-class="isLast($last)">
  {{one.name}}
</li>
Controller中的代码定义是这样

$scope.isLast = function(flag) {
    return flag ? 'item-last' : 'item-not-last';
};
css定义是这样

.item-last { /* Your Styles */ }
.item-not-last { /* Your Styles */ }

 对,这就是一个三元运算,你可以直接在html里面用,像这样 
 

<li ng-repeat="one in many" ng-class="$last ? 'item-last' : 'item-not-last'">
  {{one.name}}
</li>

参考文章:

Different class for the last element in ng-repeat







发布了64 篇原创文章 · 获赞 34 · 访问量 10万+

猜你喜欢

转载自blog.csdn.net/svygh123/article/details/51333184