角度推动空数组中的项目

时间:2014-07-10 07:06:30

标签: javascript arrays angularjs

当我需要在空数组中推送一个新项时,我收到一个错误:$ scope.array.push不是一个函数。

但是当数组不为空时,推送工作完美,并且正确地更新了我的范围。

有关信息,我的数组是这样实现的:

$scope.array = [];

我也试过了:

$scope.array = [{}]

如何绕过这个问题?或者我做错了什么?

编辑:

$scope.urgences_hygienes = [];

$scope.save = function () {
    $scope.newDemandeHygiene = {
        id_zone : $scope.demandeHygiene.id_zone,
        commentaire : $scope.demandeHygiene.commentaire,
        date_demande : Math.round(new Date().getTime() / 1000)
    }
    $scope.urgences_hygienes.push( $scope.newDemandeHygiene );
    $scope.reloadTable();
    $modalInstance.close();
}

5 个答案:

答案 0 :(得分:1)

正确的语法是:     $ scope.myarray.push(someobject)

答案 1 :(得分:1)

您似乎正在使用$scope.push(var)而不是$scope.array.push(var)

此外,值得注意的是,使用$scope.array[$scope.array.length]=var

的速度更快

答案 2 :(得分:0)

您可能会尝试推送$scope而不是$scope.array。错误就是这样。

答案 3 :(得分:0)

尝试

$scope.array.push({});

代替。

答案 4 :(得分:0)

整体代码必须是这样的。

$scope.save = function () {
    $scope.urgences_hygienes = [];

    $scope.newDemandeHygiene = {
        id_zone : $scope.demandeHygiene.id_zone,
        commentaire : $scope.demandeHygiene.commentaire,
        date_demande : Math.round(new Date().getTime() / 1000)
    }
    $scope.urgences_hygienes.push( $scope.newDemandeHygiene );
    $scope.reloadTable();
    $modalInstance.close();
}