使用 Firebase 的官方支持的backbone.js 绑定,我似乎无法从我的 Firebase 中的模型中检索任何数据。
例如,我想获取存储在 Firebase 参考下的用户 #2 的所有信息:
https://app.firebaseio.com/users/2
为此,我将使用特定于我的用户的 ID 创建一个新的用户模型,并在该模型上调用 fetch:
var ProfileModel = Backbone.Model.extend( {
initialize: function () {
console.log('Profie Model');
},
firebase: new Backbone.Firebase("https://app.firebaseio.com/users"),
});
var userProfile = new ProfileModel({id: "2"});
userProfile.fetch({
success: function (model, response, options) {
console.log(model);
console.log(response);
console.log(options);
userProfile.set({test: "test value"});
userProfile.save();
},
error: function () {
alert('Something went wrong!');
}
});
在此代码段中,成功回调被触发,但没有从 Firebase 向模型添加数据,并且响应以未定义的形式返回。但是,当在模型上设置测试值然后调用 save() 时,数据会正确保存到 Firebase 中。
我假设不需要在模型上设置 urlRoot,因为绑定使用 id 属性来创建用户 #2 的路径。
如自述文件中所述,当将 firebase 对象添加到模型或集合时,它会覆盖主干同步以使用 Firebase。在我开始深入研究绑定之前,任何建议都将不胜感激。