具有数组长度条件的角度 ng-repeat
Posted
技术标签:
【中文标题】具有数组长度条件的角度 ng-repeat【英文标题】:Angular ng-repeat with array length condition 【发布时间】:2014-03-25 17:48:21 【问题描述】:我希望ng-repeat
仅在photos.length > 1
时运行
这样做似乎不起作用:
<div ng-repeat="thumb in photos | photos.length > 1">
有什么快速的技巧/优雅的方法可以做到这一点吗?我只需要检查数组长度就可以了。
我不想通过这样做将数组复制到另一个数组
if (oldArray.length > 1)
newArray = photos;
else
newArray = [];
...然后在newArray
上执行ng-repeat
。这似乎效率低下。
谢谢。
【问题讨论】:
尝试创建自己的过滤器。见***.com/questions/15196161/… 【参考方案1】:试试:
<div ng-repeat="thumb in photos" ng-if="photos.length > 1"></div>
如果不满足ng-if
条件,这些元素将从DOM 中删除。如需进一步参考,请参阅http://docs.angularjs.org/api/ng/directive/ngIf。
【讨论】:
在访问长度属性之前检查“照片”是否存在也可能会有所帮助,因为“未定义”没有长度属性。例如:ng-if="photos && photos.length > 1" 如何在 ng-repeat 之前和之后有两个 if confition?例如,照片可以是数组或错误,如果类型是字符串,那就是错误,我必须在 ng-repeat 之前检查它,但是我想把条件放在拇指上,说它是否满足特定条件,然后我必须在 ng-repeat 之后运行它...【参考方案2】:您可以尝试使用 ng -if 指令来检查您描述的条件,例如
<div ng-if='photos.length > 1'> your html here </div>
【讨论】:
以上是关于具有数组长度条件的角度 ng-repeat的主要内容,如果未能解决你的问题,请参考以下文章
angularjs如何在ng-repeat过程中控制字符串长度超过指定长度后面内容以省略号显示
C 语言数组 ( 数组本质 | 数组长度定义 | 数组初始化 | 编译时初始化 | 显式初始化 - 重置内存 )
向量之间的角度 - 只有长度为1的数组可以转换为Python标量