Ответ 1
<ul class="highlight-topright">
<li ng-repeat="item in hpHeadlines" ng-if="$index > 0">
...
</li>
</ul>
Я хочу пропустить первый элемент в ng-repeat
..first item here
<ul class="highlight-topright">
<li ng-repeat="item in hpHeadlines | filter:$index>0">
...
</li>
</ul>
он не работает, здесь что-то не так?
Я понимаю, что я могу использовать ng-if, ng-show, чтобы скрыть вещи, но я просто не могу понять, почему фильтр не работает в 1.3.x в этом случае.
Спасибо.
<ul class="highlight-topright">
<li ng-repeat="item in hpHeadlines" ng-if="$index > 0">
...
</li>
</ul>
Сначала используйте $first для этого:
<ul class="highlight-topright">
<li ng-repeat="item in hpHeadlines" ng-hide="$first">
...
</li>
</ul>
Или
<ul class="highlight-topright">
<li ng-repeat="item in hpHeadlines" ng-if="!$first">
...
</li>
</ul>
Вы также можете использовать фильтр limitTo.
Как отрицательный индекс, begin указывает смещение от конца ввода. По умолчанию 0.
<li ng-repeat="item in hpHeadlines | limitTo: 1 - hpHeadlines.length">
...
</li>
Возможно, я опоздал, чтобы ответить на этот вопрос. Но только для новичков, я предоставляю решение. Поскольку вы хотите пропустить первую запись, вы можете использовать либо $index, либо $first для достижения, как показано ниже:
<li ng-repeat="item in hpHeadlines" ng-if="$index"> OR
<li ng-repeat="item in hpHeadlines" ng-if="!($first)">
Как вы могли видеть, в обоих случаях ng-if пропускает значение "0".
Вы можете использовать ng-show
или ng-if
, не используя его в качестве фильтра. Это проще, потому что вы знаете индекс, который хотите пропустить.
Использовать фильтры обычно, когда вы хотите сделать что-то, что касается всего массива, например, форматирование или части, которые вы не знаете, где они находятся.
<ul class="highlight-topright">
<li ng-repeat="item in hpHeadlines" ng-show="$index != 0">
{{item.name}}
</li>
</ul>
Вместо этого вы можете использовать ng-show, например:
<ul class="highlight-topright">
<li ng-repeat="item in hpHeadlines" ng-show="$index > 0">
...
</li>
</ul>
Или вы можете использовать директиву ng-if, если вы не хотите добавлять невидимые элементы dom.