AngularJS .destroy()显示控制台错误,但有效吗?

时间:2015-05-14 07:19:26

标签: angularjs

我使用destroy()这样的函数:

$scope.Cities[i].destroy();

然后当我使用它时,我的应用程序工作正常,但控制台说:

$scope.Cities[i] is undefined

但如果没有它,它就无法运作。我应该忽略错误吗?

更多代码

$scope.Somefunction= function (id) {
    for (var i = 0; i < $scope.Cities.length; i++) {
        if ($scope.Cities[i] == id) {
            $scope.SpliceCities(i);
            $scope.Cities[i].destroy();

        } 
    }

    $scope.SpliceCities = function(i) {
        $scope.Cities.splice(i, 1);
    };
}

按国家/地区的ng-click调用函数。

1 个答案:

答案 0 :(得分:2)

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath 改变了数组,因此splice索引在调用i时指向另一个元素。如果destroy()指向拼接之前的最后一个元素,则会出现此错误。幸运的是,i也返回了作为数组拼接出来的元素,所以试试这个:

splice