更新
好的,所以我仍然进入Backbone的世界。但是我在将localStorage添加到模型中时遇到了问题。
所以这很有意思,但我不知道发生了什么事?
var Model = Backbone.Model.extend({
//localStorage: new Backbone.LocalStorage("SomeCollection"),
url: "/GetMyData",
defaults: {
"id": "",
"datatest1": "",
"test2": ""
}
});
var NewTest = new Model();
NewTest.fetch();
console.log ( NewTest ); //This as DB data
console.log ( NewTest.attributes ); //This is empty
'属性'在第一个console.log包含数据库数据,然后第二个完全为空?第一个console.log也是空的,如果我取消注释localStorage,那么我正在拜访我做错了什么?
好的,我不确定我做错了什么,但是我正在使用Backbone和一个fetch调用,使用LocalStorage插件保存该id。现在我有fetch调用和LocalStorage分开工作但无法让它们一起工作。
所以我的LocalStorage代码
var Model = Backbone.Model.extend({
localStorage: new Backbone.LocalStorage("SomeCollection"),
defaults: {
"id": "",
"datatest1": "",
"test2": ""
}
});
var NewTest2 = new Model();
NewTest2.set({
"id": "99",
"datatest1": "TEST-1-Q22",
"test2": "TEST-2-CL22"
});
NewTest2.save();
所以这个有效,没问题。现在我添加一个集合,并从我的数据库中获取数据。所以我的fetch代码,带有集合
var Model = Backbone.Model.extend({
defaults: {
"id": "",
"datatest1": "",
"test2": ""
}
});
var Col = Backbone.Collection.extend({
model: Model,
url: "/GetMyData"
});
var NewTest3 = new Col();
NewTest3.fetch();
console.log( NewTest3 );
我还应该说我使用PHP Slim作为基础。 /GetMyData
路径通过PDO连接从MySQL数据库获取数据,然后我将其转换为Backbone的JSON对象。
我认为这很好,因为一切正常,console.log
的属性列表会在我的数据库中显示正确的数据。
现在,当我把两者放在一起时,我似乎无法让它发挥作用。
var Model = Backbone.Model.extend({
defaults: {
"id": "",
"datatest1": "",
"test2": ""
}
});
var Col = Backbone.Collection.extend({
localStorage: new Backbone.LocalStorage("SomeCollection2"),
model: Model,
url: "/GetMyData"
});
var NewTest4 = new Col();
NewTest4.fetch();
console.log( NewTest4.save() );
此console.log
返回Uncaught TypeError: undefined is not a function
。所以我不确定为什么?当我在第一次测试中设置数据时,它工作正常。现在我也尝试将localStorge
var移动到模型中,但效果相同。
这样做的主要目的是让我可以记录来自服务器的所有数据。当我设置几个不同的数据测试时,我非常喜欢这个插件保存数据的方式。
感谢。
*请注意,我是阅读障碍者,所以我可能没有正确解释自己,请告诉我是否有什么我可以重新说出来更好地解释自己。谢谢你的理解。