在开发应用程序时,我会在应用程序启动时运行一些代码:
Ext.application({
extend: 'TestApp.Application',
name: 'TestApp',
requires: [
'TestApp.*'
],
// The name of the initial view to create.
launch: async function () {
const store_org = Ext.getStore('Organizations');
const store_event = Ext.getStore('Events');
//more stuff here
}
});
两个商店的定义都明确:
Ext.define('TestApp.store.Organization', {
extend: 'Ext.data.Store',
storeId: 'Organizations',
alias: 'store.organizations',
model: 'TestApp.model.Organization',
autoLoad: true,
pageSize: 0,
proxy: {
type: 'ajax',
url: TestApp.util.Config.getHost() + '/organization/get-organizations',
withCredentials: true,
reader: {
type: 'json',
rootProperty: '',
},
},
});
不过,我确实注意到,在启动Ext.getStore()
函数时,对于任何商店始终会返回undefined
。有什么办法可以将其“延迟”到storemanager已完全加载并且这些存储不再返回undefined的程度? (商店本身不会充满数据...)。
答案 0 :(得分:1)
只需将其添加到Ext.application类或TestApp.application中(更好)
stores:['TestApp.store.Organization'],
这是您所有商店的数组,因此,如果您需要添加更多存储,只需使用逗号并输入新文件的类路径名
这是一个有效的示例Fiddle