我可以成功将数据保存到本地存储并检索它。但是,如果我刷新浏览器然后尝试调用本地存储中的数据,则无法执行此操作。 我正在保存这样的数据;
var eventStore = Ext.getStore('Details');
if(null == eventStore.findRecord('id', currentEvent.data.id)) {
eventStore.add(currentEvent);
}
eventStore.sync();
eventStore.sort([{ property: 'dateCreated', direction: 'Desc' }]);
console.log('Data saved, store has ' + eventStore.getCount() + ' items');
console.log(localStorage);
当我刷新浏览器并检查我的控制台时,该条目就在那里,但是当我尝试像下面那样调用它时,它会失败。
var store = Ext.getStore('Details');
var storeId = store.findRecord('id', 'LC');
console.log('Details store has ' + store.getCount() + ' items');
console.log(storeId.data.id);
return;
我是Sencha touch的新手,非常感谢任何关于我做错的建议。
答案 0 :(得分:1)
您必须检查新创建的模型的属性幻像:真实。如果未设置或为false,则代理将不同步它是远程存储,但仅保留在商店的“内存”中:)
我建议通过 model.save()而不是存储的sync()调用来保存您的事件记录。看看http://docs.sencha.com/touch/2-0/#!/api/Ext.data.Model-method-save。可以为Model定义代理,直到Store。
干杯,奥列格
答案 1 :(得分:0)
问题解决了! 只需更新sencha触摸到最新版本,所有工作都应该。