2013-04-01 29 views
54

如何隱藏ng-repeat的第一個元素?Angular JS隱藏ng-repeat的第一個元素

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

這樣做的作用在於整個ng-repeat塊是隱藏的,但是我如何只隱藏項目中的第一個項目?我想用更加突出的html/etc來完全不同地顯示它,所以將它放在該數據列表中很有用。

回答

8

沒有必要隱瞞,只是用一個過濾器,從列表中排除的第一個項目:

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

過濾器謂詞不正確(Angular v1.3.1) – christang

1

在更新版本的Angular中有一個更簡單的解決方案。

過濾器 「limitTo」 現在支持一個 「開始」 的說法(docs):

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

這意味着:

{{ limitTo_expression | limitTo : limit : begin}} 

所以,你可以在NG重複使用它像這樣ng-repeat將從索引1(而不是默認索引0)開始,並將繼續處理其餘項目數組的長度(小於items.length,但limitTo將處理該數據)。

+1

油滑!鏈接到實際文檔的額外業力。 – waffles

0

如果您需要跳過最後一個,請使用ng-if ='!$ last'。