我正在使用版本0.3.0的angularFire将AngularJS应用程序连接到Firebase。我想在编辑表单上使用单个模型的显式同步。
我尝试在documentation中使用angularFireCollection而不是angularFire,在我的控制器中使用$scope.questions = angularFireCollection(new Firebase(fbUrl + 'questions/' + $routeParams.id));
,但顾名思义,它似乎只适用于集合而不适用于单个模型。
我不想检索一个可能很大的集合,然后搜索一个特定的模型,所以我通过使用angularFire并创建一个副本来解决问题,如果用户取消编辑,我将恢复该副本,但由于隐式同步,这具有在编辑模型时广播更改的副作用。
我想知道处理此用例的推荐配方是什么。我应该直接使用Firebase API吗?
答案 0 :(得分:1)
是的,在这种情况下,直接使用Firebase API是有意义的。总的来说,我认为将AngularFire视为Firebase API的补充,而不是替代Firebase API。它大大简化了一些常见用例(例如,通过angularFireCollection
在集合中进行实时更新),但您很难通过Firebase API简化单个模型的显式更新:
var questionRef = new Firebase(fbUrl + 'questions/' + $routeParams.id)
questionRef.update({fieldToUpdate: "newData"})
您应该在编辑表单中找到所需内容。