Angularjs 在ng repeat中,$index的迭代器偏移量是否对筛选器的结果是动态的
在Angularjs 在ng repeat中,$index的迭代器偏移量是否对筛选器的结果是动态的,angularjs,angularjs-ng-repeat,Angularjs,Angularjs Ng Repeat,在ng repeat中,$index的迭代器偏移量是否是动态的?当应用过滤器时,我得到的$index值似乎不正确 在未应用过滤器的情况下工作: 在应用过滤器的情况下不工作(注意控制台日志): 移除过滤器时: 最后,我的ng点击呼叫: <a ng-click="showHideOrderDropDown($index)" href=""> Show More<br/><i class="icon-arrow-down"></i> &l
ng repeat
中,$index
的迭代器偏移量是否是动态的?当应用过滤器时,我得到的$index
值似乎不正确
在未应用过滤器的情况下工作:
在应用过滤器的情况下不工作(注意控制台日志):
移除过滤器时:
最后,我的ng点击呼叫:
<a ng-click="showHideOrderDropDown($index)" href="">
Show More<br/><i class="icon-arrow-down"></i>
</a>
现在我可以很容易地解决这个问题,但我只是希望得到一些澄清 在做了一些研究之后,似乎应用过滤器实际上是在ng repeat
中添加和删除(而不是隐藏)元素,因此$index
将应用于数组的新顺序,不再反映$scope
数组对象
自从问了这个问题之后,我继续把数据库id传递给了控制器
$scope.showHideOrderDropDown = function(id) {
for (var i = 0; i < $scope.data.length; i++) {
if ($scope.data[i].id === id) {
$scope.data[i].orderDropDown = !$scope.data[i].orderDropDown;
}
}
};
$scope.showHideOrderDropDown=函数(id){
对于(变量i=0;i<$scope.data.length;i++){
if($scope.data[i].id==id){
$scope.data[i].orderDropDown=!$scope.data[i].orderDropDown;
}
}
};