AngularJS:从第二个索引ng-repeat

问题描述:

我想ng-repeat,但只能从第二个数组元素,直到最后。我试图使用AngularJS:从第二个索引ng-repeat

ng-repeat="entry in entries | filter: $index==0" 

但这一个没有工作。如果我尝试使用ng-if,就像这样

ng-repeat="entry in entries" ng-if="$index != 0" 

我在截取中出现错误。

这是最好的解决方案是什么?顺便说一句,我的AngularJS版本是1.1.5,因为我的应用程序是Hawtio的插件(它仍然停留在版本1.1.5)。谢谢。

为什么不干脆:

ng-repeat="entry in entries.slice(1,entries.length)" 

小提琴:http://jsfiddle.net/10d6o1aq/

+0

我将在html的其他地方使用第一个元素,所以这可能不是一个选项。 – menorah84 2014-10-29 07:16:37

+1

@ menorah84你绝对能够做到这一点:http://jsfiddle.net/10d6o1aq/1/ – Cherniv 2014-10-29 07:18:27

+0

@ menorah84不要害怕,它只是视图中原始数组的切片副本 – Cherniv 2014-10-29 07:24:00

你可以试试这个:

ng-repeat="entry in entries" ng-show="!$first" 

这里的reference

+2

是的,正如Mukund后面提到的那样,'ng-hide =“$ first”'也是有效的。 – denisazevedo 2014-10-29 07:06:27

隐藏使用第一要素$first

<div ng-repeat="entry in entries" ng-hide="$first"> 
    ... 
</div> 

有一个在较新版本的角度更简单的解决方案(这是行不通的对于原来的问题,由于他们对Angular版本1.1.5的限制,但它可以用于其他人员)

过滤器 “limitTo” 现在支持一个 “开始” 的说法(docs):

ng-repeat="entry in entries | limitTo: entries.length : 1" 

这意味着:

{{ limitTo_expression | limitTo : limit : begin}} 

所以,你可以在NG重复使用它像这样ng-repeat将从索引1(而不是默认索引0)开始,并将继续处理其余条目数组的长度(小于entries.length,但limitTo将处理该数据)。