我有一个包含多个模块/插件的模块化应用程序,它们也可以作为独立应用程序运行。
我将控制器动态注册module/plugin
到主应用程序,这是步骤中的问题。
- 我的主应用程序有一个前缀 - 它的控制器“A.controller.AppController。
- 我的插件有 B 前缀 - 它的控制器:B.controller.PortalController
插件控制器代码:
Ext.define('B.controller.PortalController', {
extend: 'Ext.app.Controller',
views: [
'portal.MapPanel',
'administration.ConfigPanel',
'administration.ConfigPanelWrapper'
],
//stores:['Test'],
init: function() {
console.log('portal controller init');
//console.log(this.getTestStore());
this.control({
});
}
});
视图使用 B 前缀正确注册,Ext.Loader
加载B.view.portal.MapPanel
但未加载存储。
如果我指定stores:['Test']
它尝试加载A.store.Test
,如果我指定test.Test
它什么都不做(如错误但 ext-all-debug 没有捕获它),如果我指定stores:['B.store.Test']
它正确加载它但现在我必须使用getBStoreTestStore()
来获取将导致的商店引用很多代码更改。
如何使控制器加载具有适当前缀的商店?