AngularJS中如何根据数组长度动态设置ng-repeat的limitTo值
AngularJS 实现ng-repeat的条件数量限制
嘿,我来帮你搞定这个问题!你之前的写法有几个小问题:首先是拼写错误——lenght应该是length,其次你把ng-if和limitTo的逻辑混在一起了,其实不需要额外加ng-if,直接在limitTo过滤器里用三元表达式就能实现需求。
正确的实现方式有两种,都很简单:
方法一:直接指定总长度(直观易懂)
当数组长度大于8时限制为7条,否则显示全部(也就是把limitTo设为数组的总长度):
<div ng-repeat="badgesData in deptUSersData.badges | limitTo: (deptUSersData.badges.length > 8 ? 7 : deptUSersData.badges.length) track by $index"> ........content....... </div>
方法二:利用AngularJS的特性(更简洁)
AngularJS的limitTo过滤器如果收到的值是undefined或者大于数组实际长度,就会显示所有项,所以我们可以这样写:
<div ng-repeat="badgesData in deptUSersData.badges | limitTo: (deptUSersData.badges.length > 8 ? 7 : undefined) track by $index"> ........content....... </div>
这两种写法都能满足你的需求:只有当deptUSersData.badges.length > 8时才限制显示7条,否则不做数量限制。
内容的提问来源于stack exchange,提问作者Mr world wide
相关产品推荐
相关产品推荐

