Подтвердить что ты не робот

Angular JS скрыть первый элемент ng-repeat

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

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

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

4b9b3361

Ответ 2

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

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

Ответ 3

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

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

{{ limitTo_expression | limitTo : limit : begin}}

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

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

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

Ответ 4

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