本地存储检索问题 - sencha touch 2

时间:2012-08-01 10:08:16

标签: sencha-touch-2 local-storage

我可以成功将数据保存到本地存储并检索它。但是,如果我刷新浏览器然后尝试调用本地存储中的数据,则无法执行此操作。 我正在保存这样的数据;

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的新手,非常感谢任何关于我做错的建议。

2 个答案:

答案 0 :(得分:1)

您必须检查新创建的模型的属性幻像:真实。如果未设置或为false,则代理将不同步它是远程存储,但仅保留在商店的“内存”中:)

我建议通过 model.save()而不是存储的sync()调用来保存您的事件记录。看看http://docs.sencha.com/touch/2-0/#!/api/Ext.data.Model-method-save。可以为Model定义代理,直到Store。

干杯,奥列格

答案 1 :(得分:0)

问题解决了! 只需更新sencha触摸到最新版本,所有工作都应该。