所以我使用destroy()来点击我的$ scope.array中的项目。它工作正常,当我打开我的控制台时,显示如下:
$scope.array[index].destroy is not a function
所以我删除了这行代码,希望它能修复控制台错误,但确实如此,但之后我的应用程序无效。我检查了它是否是其他东西它不是它只是这个,它正在工作,但错误仍然显示。我不知道是因为它是旧版本?
编辑:在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;
}
当我使用JUST SPLICE时,它不会改变总值,它总是相乘。当我使用splice + destory()它工作正常,但浏览器控制台由于某种原因给我错误。
答案 0 :(得分:2)
使用splice()
代替destroy()
例如:
$scope.array.splice(index, 1);
答案 1 :(得分:0)
如果要从数组中删除元素,请尝试使用
$scope.array = ['a', 'b'];
$scope.array.splice(index,1);