当destroy()调用时,AngularJS在控制台上显示错误



,所以我使用destroy()从我的$ scope.Array单击中删除项目。它可以正常工作,当我打开控制台时,以下显示:

$scope.array[index].destroy is not a function

因此,我删除了此代码,希望它可以解决控制台错误,但是在我的应用程序无法正常工作之后。我检查了这不是其他事物,而是这样,它正在起作用,但是错误仍在显示。我不知道可能是因为它是一个较旧的版本?

edit :ng-click上调用的整个功能:

    $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);
        }
    }

编辑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;
    }

当我仅使用剪接时,它不会改变总数,它总是乘以乘。当我使用剪接 destory()时,它工作正常,但是浏览器控制台出于某种原因给我带来了错误。

使用splice()代替destroy(),例如: $scope.array.splice(index, 1);

如果要从数组中删除元素,请尝试此元素,

$scope.array = ['a', 'b']; 
$scope.array.splice(index,1); 

相关内容

最新更新