【发布时间】:2015-04-09 04:07:27
【问题描述】:
我在这个 Angular 项目中工作,用户提交评论表单,新评论被添加到已经发布的 cmets 中。这是我的代码。
.controller('productCtrl', function($scope, $http, $routeParams, Page){
$scope.product = {};
$scope.review = {};
$scope.comments = {};
routeparm = $routeParams.param;
$scope.review = function(){
var review_box = $scope.review_form.review_box;
$http.post('./comment.php', {
comment : review_box,
code: routeparm
})
.success(function(data){
$scope.comments.push(data.comments);
$scope.review.review_box = '';
})
.error(function(data){
$scope.has_error = true;
$scope.error_message = data;
})
};
但是,当我尝试添加评论时,我收到以下错误。
TypeError: Cannot read property 'push' of undefined
我定义了一个空的 $scope.cmets = {};那么为什么我会收到此错误?我该如何解决?谢谢
【问题讨论】:
-
您不能对 json 对象使用 push。但这将起作用 $scope.cmets = [ ];如果你把它初始化为数组。
-
首先,为什么
push被用在一个对象上?
标签: javascript jquery angularjs