You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 07:17:17