所以我使用destroy()删除项目从我的$ scope.array单击。它工作正常,当我打开我的控制台下面是一个显示:AngularJS在控制台上显示错误时,销毁()调用
$scope.array[index].destroy is not a function
,所以我删除此行代码中,希望它会修复控制台错误,它没有,但以后我的应用程序不能正常工作。我检查它是否是别的东西它不是它只是这个,它正在工作,但错误仍然显示。我不知道也许是因为它是旧版本?
编辑:那个叫上NG-点击全功能:
$scope.SpliceItems = function (index)
{
$scope.array.splice(index, 1);
}
$scope.DestroyItem = function(index) {
$scope.array[index].destroy();
}
$scope.remove = function(item)
{
for (var i = 0; i < $scope.array.length; i++) {
if ($scope.array[i].Id == item.Id) {
$scope.SpliceItems(i);
$scope.DestroyItem(i);
}
}
EDIT 2
所以,在这里什么问题?我需要与此函数动态相乘,添加或从阵列中除去时:
$scope.getTotal= function() {
var total = 1;
for (var i = 0; i < $scope.array.length; i++) {
total *= $scope.array[i];
}
if (total == 1)
total = 0;
return total;
}
当我使用JUST剪接它不会改变总的值,它总是乘法。当我使用splice + destory()它工作的很好,但浏览器控制台给我错误,出于某种原因。
你觉得并主张实际的代码将是有益的? – dfsq
好吧,这是生成控制台错误的行..但如果你坚持 – AlCode
注意:如果你使用ngRepeat的$ index - 这不是一个好主意。这是为什么http://codeutopia.net/blog/2014/11/10/angularjs-best-practices-avoid-using-ng-repeats-index/ – tbutcaru