错误:key $$ hashKey不能以'$'开头(AngularJS)

时间:2015-08-24 01:53:15

标签: angularjs meteor

当我收到以下错误时,尝试向我的收藏集中添加内容:

Exception while invoking method 'submit' Error: key $$hashKey must not start with '$'

每餐对象:

$scope.meal = {
  items:[],
  createdBy:null
};

这是我的控制器中的提交功能:

$scope.submit = function() {
  var currentUserId = Meteor.userId();

  if(currentUserId!=null) {
    if($scope.checkValidity()==false) {
      alert("Need to fill out valid calories and/or items!");
    }
    else {
      $scope.meal.createdBy = currentUserId;
      Meteor.call("submit", $scope.meal);
      alert("has just been submitted");
    }
  }
  else {
    alert("You must sign in first!");
  }
}

我已多次检查我的提交功能,但我似乎无法找到错误。我已经看了谷歌以及这个错误,它似乎有点超过我的头,特别是因为我仍然是一个角度初学者。与此同时,我将尝试寻找更多信息。

找到一些信息:https://github.com/Urigo/angular-meteor/issues/299

好像他们从评论中解决了这个问题?然而同样的问题出现了......检查一下。

1 个答案:

答案 0 :(得分:4)

将一个对象添加到用餐项目中,尝试使用:

  $scope.meal.items.push(angular.copy($scope.newItem));

当你打电话

 Meteor.call("submit", angular.copy($scope.meal));

这是因为angular使用引用来跟踪对象