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

时间:2013-04-01 04:17:21

标签: javascript angularjs angularjs-ng-repeat

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

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

这样可以隐藏整个ng-repeat块,但是如何仅隐藏项目中的第一项?我希望使用更突出的html / etc以完全不同的方式显示它,因此将它放在该数据列表中是有用的。

4 个答案:

答案 0 :(得分:110)

你可以这样做

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

以下是文档:http://docs.angularjs.org/api/ng.directive:ngRepeat

答案 1 :(得分:8)

无需隐藏,只需使用过滤器排除列表中的第一项:

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

答案 2 :(得分:1)

在最新版本的Angular中,有一个更简单的解决方案。

过滤器&#34; limitTo&#34;现在支持&#34;开始&#34;参数(docs):

{{ limitTo_expression | limitTo : limit : begin}}

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

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

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

答案 3 :(得分:0)

如果您需要跳过最后一次,请使用ng-if =&#39;!$ last&#39;。