Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Firebase angularFire$asObject不';推_Firebase_Angularfire - Fatal编程技术网

Firebase angularFire$asObject不';推

Firebase angularFire$asObject不';推,firebase,angularfire,Firebase,Angularfire,我是firebase的新手,尝试使用angulerFire文档中的$asObject。基本上,我的个人资料如下。我使用$asObject更新电子邮件。但是,当我使用$save()时,它只使用电子邮件替换整个配置文件,而不是将其推到列表的末尾,即它的工作方式类似于set(),而不是push()。它是如何工作的?我怎么能只推 反对 {profiles: {peterpan: {name:"Peter Trudy", dob:"7th March"} } } 我的点击功能: $scope.a

我是firebase的新手,尝试使用angulerFire文档中的$asObject。基本上,我的个人资料如下。我使用$asObject更新电子邮件。但是,当我使用$save()时,它只使用电子邮件替换整个配置文件,而不是将其推到列表的末尾,即它的工作方式类似于set(),而不是push()。它是如何工作的?我怎么能只推

反对

{profiles:
 {peterpan:
 {name:"Peter Trudy", dob:"7th March"}
 }
}
我的点击功能:

 $scope.angularObject = function(){
            var syncProfile = $firebase(ref.child("profiles").child("peterpan"));
            var profileObject = syncProfile.$asObject();
            profileObject.email= "peter@peterpan.com";
            profileObject.$save();
         };
您正在寻找:

请注意,
$update
仅在
$firebase
上可用,而不在从
$asObject
返回的FirebaseObject上可用。原因是,
$asObject
实际上是指直接绑定到角度范围的对象。您不需要在自己的代码中对其执行更新


顺便说一句:如果你的代码中的其他代码以类似的方式使用角度火焰,你可以考虑删除AngularFire并直接使用。它的使用更简单,因为它不需要在Firebase和Angular的工作方式之间进行调解。

感谢您的澄清,我也100%同意SDK方法,它看起来更简单!注意,这里的区别在于是否将数据绑定到视图/DOM中。AngularFire非常适合绑定,并处理大量样板文件和同步边缘案例。SDK级操作非常适合于简单写入和单向操作。$asObject用于尝试将其用作集合的单个记录(即对象)。这就是$asArray()的目的,并且有一个专门的课程来教授这些概念。
syncProfile.$update({ "email": "peter@peterpan.com" });