我是 Backbone 和 Firebase 的新手。我正在使用 Backfire,有一个集合:
var UsersCollection = Backbone.Firebase.Collection.extend({
model: UserModel,
firebase: new Firebase( "https://xxxxxx.firebaseio.com/users" ),
});
模型本身与 Firebase 无关(出现“Invalid Firebase reference created”错误):
var UserModel = Backbone.Model.extend({
defaults: function() {
return {
email: "example@example.com"
};
}
});
在我的视图中,我实例化了集合,我得到了正确的数据,我可以将新模型添加到集合中,如下所示:
this.allUsers = new UsersCollection();
...
this.allUsers.add( userData );
效果很好,新的用户记录出现在 Firebase 上。但是,假设我现在想要获取给定用户的模型并更新其数据:
var userRecord = this.allUsers.findWhere( {email: email} );
userRecord.set( {age: age} );
这会在本地更新模型,但更改后的模型不会同步到 Firebase。我后来尝试过userRecord.save();
,但它触发了“循环引用”错误。根据文档,set()
应该清楚地做到这一点:(