2017-02-13 7 views
0

たとえば、2と4とは異なるインデックスを持つすべての値をフィルタリングするカスタムフィルタ関数を使用した簡単なng-repeatを想像してみてください。このように:ng-repeat要素のフィルタリングされていないインデックスを取得する

<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

できません。 $indexは常にフィルタリングされた要素の値を持ちます。唯一の解決策は、フィルタリングされていないアレイをループし、カスタムindexプロパティを追加することです。

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

    $scope.array = results; 
}); 
関連する問題