我有两个商店:localstorage和服务器上的json,我正在尝试将数据从json下载到本地。请看出错了:
/store/Notes.js
Ext.define("NotesApp.store.Notes", {
extend: "Ext.data.Store",
requires: "Ext.data.proxy.LocalStorage",
config: {
storeId: 'Notes',
model: "NotesApp.model.Note",
proxy: {
type: 'localstorage',
id: 'notes-app-store'
},
sorters: [{
property: 'dateCreated',
direction: 'DESC'
}],
grouper: {
sortProperty: "dateCreated",
direction: "DESC",
groupFn: function (record) {
if (record && record.data.dateCreated) {
return record.data.dateCreated.toDateString();
} else {
return '';
}
}
}
}
});
/store/Online.js
Ext.define(“NotesApp.store.Online”,{ extend:“Ext.data.Store”, config:{
storeId: 'Online', proxy: { type: 'jsonp', url: 'http://server.com/made/qa.php', reader: { type: 'json' //rootProperty: 'results' } }, autoLoad: false, listeners: { load: function() { console.log("updating"); // Clear proxy from offline store Ext.getStore('Notes').proxy.clear(); console.log("updating1"); // Loop through records and fill the offline store this.each(function(record) { console.log("updating2"); Ext.getStore('Notes').add(record.data); }); // Sync the offline store Ext.getStore('Notes').sync(); console.log("updating3"); // Remove data from online store this.removeAll(); console.log("updated"); } }, fields: [ { name: 'id' }, { name: 'date_created' }, { name: 'question' }, { name: 'answer' }, { name: 'type' }, { name: 'author' } ] } });
当我需要更新时,我打电话给Ext.getStore('Online').load();
但是'更新'后控制台没有显示任何其他内容。
我想知道出了什么问题?
答案 0 :(得分:2)
使用Ext.getStore('Notes').getProxy().clear()
代替