0
我試圖弄清楚什麼時候可以在我的應用程序中使用存儲。 我從文檔中發現,如果我想顯示來自我的商店的信息,我應該聽我商店的「刷新」事件,以便在它發生更改時(以及第一次加載時)得到通知。Sencha touch 2.0:存儲加載,第一次可用
但是,使用下面的例子:
Ext.define('MyApp.store.Config', {
extend: 'Ext.data.Store',
config: {
autoLoad: true,
autoSync: true,
model: 'MyApp.model.Config',
listeners: {
refresh: function() {
console.log(Ext.StoreManager.get('Config').getAt(0))
}
}
} });
了「的console.log」被啓動時叫了兩次,它失敗的第一次(好像是商店還沒有加載)。我的模型使用代理(輸入ajax和json閱讀器)。
有人能告訴我應該如何着手避免這個錯誤嗎? 謝謝!
有沒有什麼不能使用[負載]的理由(http://docs.sencha.com/touch/2-0/#!/api/ Ext.data.Store-event-load)事件? – rdougan 2012-04-23 23:37:39
@rdougan當我使用負載時發生同樣的問題。我正在使用刷新,因爲在文檔中,他們提到不應該使用load來進行UI刷新...... – borck 2012-04-24 07:55:56
更新UI時應該使用'refresh',因爲在添加/更新單個記錄時它也會被調用/刪除。但看起來你想知道商店第一次加載,所以使用'load'更有意義。 – rdougan 2012-04-24 18:18:44