我做了一个简单的列表演示。在这个演示中我试图删除行,当我点击行。它工作正常,我能够删除行,当我点击行。
实际上我的问题是我给 $ index 这样的每一行 id 。第一行 id =0
和第二行 id =1
。但是当点击第一行(平均值= 0)时,它已删除。现在,当我点击第二行时, id =“1” .display id = 0 为什么?为什么我的id改变了。有没有办法删除行但是id仍然和以前一样。这是我的代码
http://codepen.io/anon/pen/GgbpzO
var app=angular.module("app",[]);
app.controller('maincntr',function($scope){
$scope.changeValue={names:[{
'name':"naveen",
'lastname':"sharma"
},{
'name':"parveen",
'lastname':"kumar"
}]};
$scope.rowClickEvent=function(id){
alert(id)
$scope.changeValue.names.splice($scope.changeValue.names.indexOf(id), 1);
};
});
答案 0 :(得分:3)
这种情况正在发生,因为当你从数组中删除任何元素时,ng-repeat再次链接它,这样你就可以从0开始$index
。
假设我有数组[1,2,3]索引现在是0,1,2所以ng-repeat显示$ index为0 现在我从它中删除1数组现在是[1,2]所以索引再次由ng-repeat编译并再次从0开始,因此0再次出现。
希望有所帮助。 :)