使用angularFireCollection显式同步单个模型

时间:2013-10-15 09:35:38

标签: angularjs firebase angularfire

我正在使用版本0.3.0的angularFire将AngularJS应用程序连接到Firebase。我想在编辑表单上使用单个模型的显式同步。

我尝试在documentation中使用angularFireCollection而不是angularFire,在我的控制器中使用$scope.questions = angularFireCollection(new Firebase(fbUrl + 'questions/' + $routeParams.id));,但顾名思义,它似乎只适用于集合而不适用于单个模型。

我不想检索一个可能很大的集合,然后搜索一个特定的模型,所以我通过使用angularFire并创建一个副本来解决问题,如果用户取消编辑,我将恢复该副本,但由于隐式同步,这具有在编辑模型时广播更改的副作用。

我想知道处理此用例的推荐配方是什么。我应该直接使用Firebase API吗?

1 个答案:

答案 0 :(得分:1)

是的,在这种情况下,直接使用Firebase API是有意义的。总的来说,我认为将AngularFire视为Firebase API的补充,而不是替代Firebase API。它大大简化了一些常见用例(例如,通过angularFireCollection在集合中进行实时更新),但您很难通过Firebase API简化单个模型的显式更新:

var questionRef = new Firebase(fbUrl + 'questions/' + $routeParams.id)
questionRef.update({fieldToUpdate: "newData"})

您应该在编辑表单中找到所需内容。