2012-08-01 78 views
0

我可以成功地將數據保存到本地存儲並檢索它。但是,如果我刷新瀏覽器並嘗試重新調用本地存儲中的數據,則無法這樣做。 我像這樣保存數據;本地存儲檢索問題 - sencha touch 2

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觸摸,並會非常感謝任何意見,我做錯了什麼。

回答

0

問題解決了! 只需更新sencha觸摸到最新版本和所有作品應該如此。

1

你必須檢查屬性幻影:真新的模型。如果它沒有設置或爲false代理將不會同步它是遠程存儲,但只保留在商店的'內存':)

我建議保存您的事件記錄通過model.save()而不是商店的同步()調用。看看http://docs.sencha.com/touch/2-0/#!/api/Ext.data.Model-method-save。代理可以爲模型定義,就商店而言。

Cheers,Oleg