所以我使用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