一尘不染

如何使用带有过滤器和$ index的ng-repeat?

angularjs

我想在Angular中使用ng-repeat,而我只想输出数组的某些元素。一个例子:

ng-repeat="item in items | filter:($index%3 == 0)"

但是,这不起作用。请告诉我该怎么做;仅输出元素的精确索引。


阅读 204

收藏
2020-07-04

共1个答案

一尘不染

在您的代码中,过滤器应用于“ items”数组,而不是应用于每个数组项,这就是为什么它无法按预期工作的原因。

相反,您可以使用ng-show(或ng-if):

<ul>
    <li ng-repeat="item in items" ng-show="$index % 3 == 0">{{item}}</li>
</ul>

请参阅:http//jsfiddle.net/H7d26

编辑:如果您不想添加不可见的dom元素,请使用ng-if指令:

<ul>
    <li ng-repeat="item in items" ng-if="$index % 3 == 0">{{item}}</li>
</ul>
2020-07-04