Угловой JS скрыть первый элемент ng-повтор



Как бы я скрыл первый элемент ng-repeat?



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


это работает в том, что весь блок ng-repeat скрыт,но как я могу скрыть только первый элемент в элементах? Я хочу отобразить его совершенно по-другому, используя более заметный html/etc, поэтому полезно иметь его в этом списке данных.

513   4  

4 ответов:

вы можете сделать это

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

вот документы:http://docs.angularjs.org/api/ng.directive:ngRepeat

Не нужно скрывать, просто используйте фильтр, чтобы исключить первый пункт из списка:

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

есть более простое решение в более поздних версиях Angular.

фильтр "limitTo" теперь поддерживает аргумент" begin" ( docs):

{{ limitTo_expression | limitTo : limit : begin}}

Так что вы можете использовать его вот так в ng-repeat:

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

это означает, что ng-repeat начнется с индекса 1 (вместо индекса по умолчанию 0) и будет продолжаться для остальной части длины массива элементов (которая меньше элементов.длина, но чтобы справится с этим просто замечательно).

в случае, если вам нужно пропустить последний, используйте ng-if='!$последний'.

Comments

    Ничего не найдено.