Angularfire $保存数组

时间:2014-10-28 15:39:08

标签: angularjs firebase angularfire

我在更新数组中的条目后尝试保存数据集合。

    // Edit a post
$scope.editMe = function(message) {
  if($scope.textBoxMessage = "What good did you do today?"){
    $scope.textBoxMessage = "Here you can edit your post by entering a new message and pressing edit on the affected post" + "\n \n" + "Your post:" + "\n" + message.post;
  }
  else{
    $scope.message.post="hello"; //$scope.newMessage
    $scope.messages.$save(2);

  }
}

用户在文本字段中输入了一些文本,我想用已存储的数据替换它。这通过用sometext覆盖message.data。因为我读了这样的数据:

var list = fbutil.syncArray('posts/'+user.uid);

我也试着简单地说:

message.post = $scope.newMessage;
list.$save()

这两种方法都不起作用,但我确定这是一个小错误。

ED: 根据angularFire api,请访问:https://www.firebase.com/docs/web/libraries/angular/api.html#angularfire-firebasearray-save-recordorindex

    list[2].post = "hello";
    list.$save(2);

应该可以工作,但我没有运气。

1 个答案:

答案 0 :(得分:0)

好的,这就是我如何解决它:

问题更多地与if else语句有关,然后与服务器代码本身有关。 $ scope.textBoxMessage总是如此,无论如何,这都是困扰我的。即使我说if($ scope.textBoxMessage =" hi")也是如此。

我不确定为什么会这样,但如果您有任何建议,请随时发表评论。

这就是我解决它的方法:

    // Edit a post
$scope.editMe = function(message) {
  if($scope.newMessage == null){
    $scope.textBoxMessage = "Here you can edit your post by entering a new message and pressing edit on the affected post" + "\n \n" + "Your post:" + "\n" + message.post;
  }
  else{
    message.post = $scope.newMessage;
    list.$save(message);
    $scope.textBoxMessage = chatmessage;
    $scope.newMessage = null;
  }
}