跳过 ng-repeat(不是 ng-if)中的项目
Skipping items in ng-repeat (not ng-if)
有
没有办法在使用ng-repeat
迭代时跳过给定数量的项目?
例如,假设我有这个数组:
arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
有没有办法我可以做这样的事情
<div ng-repeat="i in arr">
<div ng-if="i == 3" ng-skip="10">{{i}}</div></br>
</div>
所以输出将是:
1
2
13
14
15
并且不会为从 3
到 12
的值执行ng-if
。
在这里明确一点,我要求的是对迭代器的行为进行某种修改。
编辑:
让我进一步澄清。
我要求相当于
for (i = 0; i < arr.length; i++) {
if (arr[i].should_skip_items == true) {
i += arr[i].number_of_items_to_skip;
} else {
//do stuff...
}
}
您可以使用
$index
和ngSwitch
,如下所示:
//skip one item
<div ng-repeat="i in arr" ng-switch="$index % 2 === 0">
<div ng-switch-when="true">{{i}}</div></br>
</div>
所以,这里发生的情况是,如果$index % 2 === 0
,即可迭代对象是一个偶数索引,它将被显示出来。
这个怎么样?
ng-if="arr.slice(arr.indexOf(3), arr.indexOf(3)+10).indexOf(i) === -1"
试试这个...
ng-repeat="i in arr track by $index" ng-if="$index < 2 || $index > 11"
并从内部 DIV 元件中移除ng-if
和ng-switch
。
相关文章:
- 我需要NG-IF/NG-SWITCH还是NG-SHOW&NG-HIDE
- 如何应用带过滤器的ng if来过滤记录,并在同一页面中显示两个不同的视图
- 在 ng-if 编译后访问指令中的 DOM 元素
- 通过ng-if设置隐藏文本框的值
- AngularJS ng-if指令在移除元素之前,即使条件为false,也会短暂呈现
- 使用 ng-if 时 ng 类的标记行为
- 为什么更改范围获胜'不能在ng if内部工作,而是通过函数调用AngularJS
- Angular2 ng if有什么问题
- 为什么myForm$提交的不适用于ng消息,但适用于ng if
- ng if不验证函数
- 将默认选项添加到ng-if
- 通过使用ng if更新ng repeat加载程序
- ng-if 连续执行方法
- 如何在使用$http缓存时重新触发ng-if/ng显示动画
- 从指令中向元素添加ng-if属性
- angularjs ng if中的无限循环
- 使用 ng-if 选择 ng-repeat 循环中的第二个项目
- 跳过 ng-repeat(不是 ng-if)中的项目
- 我想跳过ng中的项目,重复使用ng if
- 单击时将所有ng-if设置为false,单击的项目除外