Angular JS隐藏了ng-repeat的第一个元素

我将如何隐藏ng-repeat的第一个元素?

<div ng-repeat="item in items" ng-hide="true"> <div>{{ item.value }}</div> </div> 

这是因为整个ng-repeat块是隐藏的,但是我如何只隐藏项目中的第一个项目? 我想用更加突出的html / etc来完全不同的显示,所以把它放在那个数据列表中是很有用的。

你可以这样做

 <div ng-repeat="item in items" ng-show="!$first"> <div>{{ item.value }}</div> </div> 

这里是文档: http ://docs.angularjs.org/api/ng.directive: ng重复

不需要隐藏,只需使用filter从列表中排除第一项:

 <div ng-repeat="item in items|filter:$index>0"> <div>{{ item.value }}</div> </div> 

在更新版本的Angular中有一个更简单的解决scheme。

filter“limitTo”现在支持“开始”参数( 文档 ):

 {{ limitTo_expression | limitTo : limit : begin}} 

所以你可以像这样在ng-repeat中使用它:

 ng-repeat="item in items | limitTo: items.length : 1" 

这意味着ng-repeat将从索引1(而不是默认索引0)开始,并将继续其余项目数组的长度(小于items.length,但是limitTo将处理这个很好)。

如果你需要跳过最后一个,使用ng-if ='!$ last'。