Fed*_*oli 49 angularjs angularjs-ng-repeat
如何指定ng-repeat指令将开始而不是零的索引?
我有一组结果,我只需要指定起始值,它与零不同.
use*_*281 56
无需编写任何代码,angular已使用现有的内置limitTo过滤器完成此操作.只需使用负限制.从limit论证的文档:
返回的数组或字符串的长度.如果限制数为正,则复制源数组/字符串开头的限制项数.如果数字为负数,则复制源数组/字符串末尾的限制项数.如果限制超过array.length,则将限制该限制.如果未定义limit,则输入将保持不变.
所以你会在模板中使用它:
<ul>
<li data-ng-repeat="i in list | limitTo: (offset - list.length)">{{i}}</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
offset你的起始指数在哪里?参见样本plunker.
有一个可选的begin参数,所以你不需要使用负数,limit但begin在角度v1.4之前不可用,所以我limit在我的例子中坚持了否定.
Cha*_*pet 39
答案似乎很老了,
因为angular 1.4.0,limitTo过滤器有两个参数
limitTo: (limit) : (begin)
你可以说 ng-repeat="item in list | limitTo:50:0"
这似乎是一个非常有效的解决方案而不是使用两个不同的过滤器
https://code.angularjs.org/1.4.0/docs/api/ng/filter/limitTo
Ema*_*lha 37
您可以创建过滤器
app.filter('startFrom', function() {
return function(input, start) {
if(input) {
start = +start; //parse to int
return input.slice(start);
}
return [];
}
});
Run Code Online (Sandbox Code Playgroud)
然后你只需在ng-repeat上使用它:
<div ng-repeat="item in items | startFrom : 2">{{item.Name}}</div>
Run Code Online (Sandbox Code Playgroud)
Omr*_*ron 31
假设你有一个列表items,你可以这样做:
<div ng-repeat="item in items" ng-if="$index >= myIndex">
{{item.Name}}
</div>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
49898 次 |
| 最近记录: |