【发布时间】:2012-10-11 15:03:33
【问题描述】:
我的模块化应用程序包含多个模块/插件,也可以作为独立应用程序运行。
我将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() 来获取将导致大量代码更改的商店引用。
如何让控制器加载带有适当前缀的商店?
【问题讨论】: