我有text
这个父节点,如果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?
中执行此操作答案 0 :(得分: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添加数据。因此,如果您的Firebase中尚不存在media
,则$scope.parent.getByName('media')
将返回undefined
。因此,如果您不需要显式同步,并且隐式同步很好,我会使用AngularFire对象而不是AngularFireCollection。