Sencha touch 2 每次刷新页面时,本地存储中的数据都会被刷新
我使用sencha touch 2并在其中使用本地存储, 但是我一刷新页面,数据就被刷新了,你能告诉我怎么了吗,这是我的存储和插入删除功能的代码Sencha touch 2 每次刷新页面时,本地存储中的数据都会被刷新,sencha-touch-2,local-storage,Sencha Touch 2,Local Storage,我使用sencha touch 2并在其中使用本地存储, 但是我一刷新页面,数据就被刷新了,你能告诉我怎么了吗,这是我的存储和插入删除功能的代码 Ext.define("OfferDrive.store.CategoryStore", { extend: "Ext.data.Store", requires: "Ext.data.proxy.LocalStorage", config: { model: "OfferDrive.model.StoreCat
Ext.define("OfferDrive.store.CategoryStore", {
extend: "Ext.data.Store",
requires: "Ext.data.proxy.LocalStorage",
config: {
model: "OfferDrive.model.StoreCategories",
proxy: {
type: 'localstorage',
id: 'favorite-category-store'
}
}
});
下面是视图中添加或插入记录的代码
var favCategoriesStore = Ext.getStore('CategoryStore');
for (var i=0; i< categoryList.config.store.data.items.length; i++)
{
if(categoryList.config.store.data.items[i].data.CheckUrl.indexOf("Golden") != -1){
var record = favCategoriesStore.findRecord('Id', categoryList.config.store.data.items[i].data.Id)
if (null == record){
//insert
var newFavorite = Ext.create("OfferDrive.model.StoreCategories", {
Id: categoryList.config.store.data.items[i].data.Id,
Name: categoryList.config.store.data.items[i].data.Name
});
favCategoriesStore.add(newFavorite);
}
}else{
var record = favCategoriesStore.findRecord('Id', categoryList.config.store.data.items[i].data.Id)
if (null != record){
//remove
favCategoriesStore.remove(record);
}
}
}
favCategoriesStore.sync();
var favCategoriesStore=Ext.getStore('CategoryStore');
对于(var i=0;i
刚才也检查了chrome的开发者窗口,store显示在那里,但没有数据:\localStorage只能存储字符串数据类型。@KyawTun它可以存储int和boolean以及其他数据类型。设计模式是存储记录对象的JSON.stringify字符串。所以任何用JSON序列化的东西都会运行。让它工作,使用模型的setDirty()方法,它工作了。。。