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