0

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

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

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

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

4

1 回答 1

1

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

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

这应该正是您在编辑表单中所需要的。

于 2013-10-15T20:00:49.420 回答