0

我有这个父节点,如果更改也会更新text,我也想将 a 添加media到父节点中。text

{
 parent: {
  text: 'this is content'
 }
}

media来自第三方回调的值。如何传递给update()? 我试过{media: callbackVal}但没有工作。

$scope.parent = angularFireCollection(firebaseRef.child('parent'));
$scope.parent.update(What_to_do_here, function(error){
 //something...
});

更新

也许我的问题还不够清楚。

在 Firebase JS 中,我们可以这样做来更新或插入媒体到节点中。

new Firebase(firebaseRef).update({ media: 'value'} );

如何在 `angularFireCollection 中执行此操作?

4

1 回答 1

0

查看带注释的 AngularFire 源:http ://angularfire.com/src/angularFire.html#section-38

看起来AngularFireCollection.update()需要一个键/项目和一个回调函数。因此,您需要直接在 AngularFireCollection 中编辑要更新的条目(例如$scope.parent.getByName('media').value = 'alligator scrimshaw'),然后调用$scope.parent.update($scope.parent.getByName('media'), function(err) { ... }).

注意:一个相当令人困惑的事情(可能我误解了)是似乎没有一种方法可以通过 id 将数据添加到 AngularFireCollection。因此,如果media您的 Firebase 中不存在,$scope.parent.getByName('media')将返回undefined. 出于这个原因,如果您不需要显式同步,并且隐式同步很好,我会使用 AngularFire 对象而不是 AngularFireCollection。

于 2013-10-07T17:24:42.460 回答