我可以使用$ odd或$ even属性过滤ng-repeat吗?

Edg*_*nez 22 javascript angularjs angularjs-directive

我试图ng-repeat通过索引自动过滤列表.有可能以某种方式这样做吗?这是我正在尝试但它不起作用:

<div data-ng-repeat="thing in things | filter:$even" >
     <div>{{thing.name}}</div>
</div>
Run Code Online (Sandbox Code Playgroud)

有没有正确的方法来实现这一目标?

小智 47

这将显示事物列表的$ even名称.

<div ng-repeat="thing in things" ng-if="$even">
    {{thing.name}}
</div>
Run Code Online (Sandbox Code Playgroud)


Ban*_*ack 6

更新:

或编写谓词函数: 工作exmaple
文档:ngRepeat

HTML:

<div data-ng-repeat="thing in things | filter:filterEvenStartFrom(0)">
    <div>{{thing.name}}}</div>
</div>
Run Code Online (Sandbox Code Playgroud)

JS:

$scope.filterEvenStartFrom = function (index) {
    return function (item) {
        return index++ % 2 == 1;
    };
};
Run Code Online (Sandbox Code Playgroud)

原版的:

这个怎么样:

<div data-ng-repeat="thing in things" ng-hide="$even">
     <div>{{thing.name}}}</div>
</div>
Run Code Online (Sandbox Code Playgroud)

  • 我没有投票,但ng-if更好,因为没有渲染项目.ng-hide将呈现项目并隐藏它. (3认同)