没有过滤器的 ng-repeat 索引
Index of ng-repeat without filter
我正在寻找一种从完整 ng-repeat
数组而不是过滤后的数组中获取对象索引的本机方法。
让我们考虑以下数组:
{'1','2','3','4'} 分别为 0、1、2 和 3。
我们还考虑一个自定义过滤器,其中 returns 以下数组:
{'1','3'} 各自的索引为 0、1。
现在过滤后的数组中“3”的索引为 1。但是,我要查找的是完整数组中的索引 2。
那么,如何从完整数组而不是过滤后的数组中获取对象的索引?我想避免在每个应用的过滤器上寻找完整数组中的对象。
注意:对象没有也不会有 ID。
如何仅使用初始步骤来包含索引:
angular.module('testApp', [])
.controller('test', ['$scope', function ($scope) {
$scope.customFilter = function (data) {
return data.val.no != '2' && data.val.no != '4';
};
$scope.withIndices = function (ary) {
return ary.map(function (el, i) {
return { i: i, val: el };
});
};
}]);
<ul ng-controller="test">
<li ng-repeat="x in withIndices(names) | filter:customFilter">
Item: {{ x.val.no }} index: {{x.i}} </li>
</ul>
var app = angular.module('myapp', []);
app.controller('MainCtrl', 函数($scope) {
$scope.full = ['10','2','30','4'];
$scope.filter=['10','30']
});
模板:
{{full.indexOf(i)}}
我正在寻找一种从完整 ng-repeat
数组而不是过滤后的数组中获取对象索引的本机方法。
让我们考虑以下数组:
{'1','2','3','4'} 分别为 0、1、2 和 3。
我们还考虑一个自定义过滤器,其中 returns 以下数组:
{'1','3'} 各自的索引为 0、1。
现在过滤后的数组中“3”的索引为 1。但是,我要查找的是完整数组中的索引 2。
那么,如何从完整数组而不是过滤后的数组中获取对象的索引?我想避免在每个应用的过滤器上寻找完整数组中的对象。
注意:对象没有也不会有 ID。
如何仅使用初始步骤来包含索引:
angular.module('testApp', [])
.controller('test', ['$scope', function ($scope) {
$scope.customFilter = function (data) {
return data.val.no != '2' && data.val.no != '4';
};
$scope.withIndices = function (ary) {
return ary.map(function (el, i) {
return { i: i, val: el };
});
};
}]);
<ul ng-controller="test">
<li ng-repeat="x in withIndices(names) | filter:customFilter">
Item: {{ x.val.no }} index: {{x.i}} </li>
</ul>
var app = angular.module('myapp', []);
app.controller('MainCtrl', 函数($scope) {
$scope.full = ['10','2','30','4'];
$scope.filter=['10','30']
});
模板:
{{full.indexOf(i)}}