获取ng-repeat元素的非过滤索引

时间:2017-02-13 13:08:08

标签: angularjs

想象一下使用自定义过滤器功能的简单ng-repeat,它将过滤所有索引不同于2和4的值。像这样:

<div ng-repeat="elem in arr | filter:myFilter() track by $index">{{$index}}</div>

输出为<div>0</div><div>1</div>。但是如何显示真实的数组索引,如<div>2</div><div>4</div>

1 个答案:

答案 0 :(得分:1)

你不能。 $index始终具有已过滤元素的值。唯一的解决方案是遍历未过滤的数组并添加自定义index属性:

myService.getData().then(function (results) {
    angular.forEach(results, function (result, i) {
        result.index = i;
    });

    $scope.array = results;
});