Ответ 1
Показывает $even имена списка вещей.
<div ng-repeat="thing in things" ng-if="$even">
{{thing.name}}
</div>
Я пытаюсь автоматически фильтровать список ng-repeat
по четному индексу. Возможно ли это сделать? Вот что я пытаюсь, но он не работает:
<div data-ng-repeat="thing in things | filter:$even" >
<div>{{thing.name}}</div>
</div>
Есть ли правильный способ достижения этого?
Показывает $even имена списка вещей.
<div ng-repeat="thing in things" ng-if="$even">
{{thing.name}}
</div>
Обновлено:
Или напишите предикатную функцию:
Рабочая версия
Документы: ngRepeat
HTML:
<div data-ng-repeat="thing in things | filter:filterEvenStartFrom(0)">
<div>{{thing.name}}}</div>
</div>
JS:
$scope.filterEvenStartFrom = function (index) {
return function (item) {
return index++ % 2 == 1;
};
};
Оригинал:
Как насчет этого:
<div data-ng-repeat="thing in things" ng-hide="$even">
<div>{{thing.name}}}</div>
</div>
Так же, как @Humberto, но с условным сравнением
<div ng-repeat="i in [0,1]" class="column_{{ i }}">
<div ng-repeat="thing in things" ng-if="$even == ( i == 0 )">
{{thing.name}}
</div>
</div>
документация из ng-repeat
говорит нам о специальных свойствах, которые мы можем использовать в таком случае. Вы можете использовать:
$even
→ true, если индекс $ позиции итератора четен (в противном случае - false).$odd
→ true, если индекс $ позиции итератора нечетен (в противном случае - false).<div data-ng-repeat="thing in things" ng-if="$even">
<div>{{thing.name}}</div>
</div>
или
<div data-ng-repeat="thing in things" ng-if="$odd">
<div>{{thing.name}}</div>
</div>
или
<div data-ng-repeat="thing in things" ng-class="{'my-odd-class': $odd}">
<div>{{thing.name}}</div>
</div>
или
<div data-ng-repeat="thing in things" ng-class="{'my-even-class': $even}">
<div>{{thing.name}}</div>
</div>