【问题标题】:angularjs push object undefined is not a functionangularjs push object undefined 不是函数
【发布时间】:2014-08-11 10:04:47
【问题描述】:

所以,我的这段代码有问题,我不知道为什么会出现这个错误

$scope.veilingen = {};
$http.get('./helpers/get/Veilingen.php').
success(function(data) {
    if(debugMode) console.log(data);
    $scope.veilingenCache = data;
    for(var i = 0; i < 2; i++) {
        console.log($scope.veilingen)
        $scope.veilingen.push({
           test: 'hello'
        });
        console.log($scope.veilingen)
    }
});

我收到此错误:

TypeError: undefined is not a function 在http://example.com/includes/controllers/veilingCntrl.js:12:30http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.18/angular.min.js:72:72 在我 (http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.18/angular.min.js:100:144) 在我 (http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.18/angular.min.js:100:144) 在http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.18/angular.min.js:101:308 在 k.$eval (http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.18/angular.min.js:112:32) 在 k.$digest (http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.18/angular.min.js:109:121) 在 k.$apply (http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.18/angular.min.js:112:362) 在 h (http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.18/angular.min.js:72:327) 在 x (http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.18/angular.min.js:77:288)

第 12 行是 push() 区域。我已经搜索了为什么会发生这种情况,但我找不到它。我想要的是对象 veilingen 获得前 2 个结果,并且在加载后用户可以更改它:

$scope.setLimitVeiling = function(items) {
    for(var i = 0; i < items; i++) {
        $scope.veilingen.push($scope.veilingenCache[i]);
    }
}

但是是的,如果推送不起作用...?

【问题讨论】:

  • 您是否将 $scope.veilingen 声明为数组??
  • 对象没有 push() 方法。数组有。应该是$scope.veilingen = [];

标签: angularjs


【解决方案1】:

$scope.veilingen 被声明为对象而不是数组。

$scope.veilingen = [];

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-13
    • 1970-01-01
    • 2015-09-12
    • 2014-07-30
    • 2016-11-08
    • 2020-07-18
    • 2019-12-11
    • 2021-05-17
    相关资源
    最近更新 更多