我想在控制器中动态添加视图和存储。所以,我有这个:
Ext.define('App.controller.MyController', {
extend: 'Ext.app.Controller',
stores: ['App.store.Users'],
views: ['App.view.Users.Index'],
我正在使用以下方法动态创建此控制器:
var controller = this.getController("Users");
如何动态添加商店和视图,例如:
var controller = this.getController(moduleID);
controller.stores = [];
controller.views = [];
controller.stores.push('App.store.Users');
controller.views.push('App.view.Users.Index');
但是当我这样做时,它不起作用。控制台告诉我 Ext 不能“从未定义缓冲”,所以我认为我必须使用Ext.apply()
orExt.merge()
或类似的东西来获取getters
和setters
for stores
。
你怎么看?
编辑@asgoth:
当你使用this.getController("nameOfController");
控制器时,如果控制器不存在,Ext-JS 会为你创建一个。这是 100% 有效的,因为当我console.log(controller);
获取数据时(文档也这么说)。:)