ExtJS是否使用其他控制器/视图创建弹出窗口?

ExtJS是否使用其他控制器/视图创建弹出窗口?,extjs,extjs4,extjs4.1,extjs-mvc,Extjs,Extjs4,Extjs4.1,Extjs Mvc,我有一个网格,可以点击其中的行。单击触发一个事件,然后由控制器捕获该事件。该控制器是否有办法打开一个弹出窗口,并调用一个控制器,用其关联的视图填充该弹出窗口?这就是我现在在网格控制器中的内容: init: function() { ... this.control({ 'shipmentsgrid': { itemrowclick: this.itemRowClick } }) }, itemRowClick: fu

我有一个网格,可以点击其中的行。单击触发一个事件,然后由控制器捕获该事件。该控制器是否有办法打开一个弹出窗口,并调用一个控制器,用其关联的视图填充该弹出窗口?这就是我现在在网格控制器中的内容:

init: function() {
    ...
    this.control({
        'shipmentsgrid': {
            itemrowclick: this.itemRowClick
        }
    })
},
itemRowClick: function() {
    var win = new Ext.Window({var win = new Ext.Window({
        items: [{
            xtype: 'shipmentmonthly' // This is not recognized
        }]
    }).show();
}

我不太清楚你想归档什么。但是,您可以使用从任何控制器作用域调用的轻松获取另一个控制器的实例。这将为您提供此控制器的一个实例(甚至加载必要的类)。现在,您可以使用任何参数自由调用此控制器上的任何方法。例如,您也可以将此控制器的实例作为参数提供,并将其作为作用域提供给我们,或者使用
this
(但这取决于您的实现)

例如:

itemRowClick: function() {
    var ctrl = this.getController('Controller2');
    var win = ctrl.openWin();
    win.show();
}
//驻场总监2

openWin: function() {
    var win = Ext.create('Ext.window.Window',{
        items: [{
            xtype: 'shipmentmonthly' // This is not recognized
        }]
    });
    return win;
}

非常感谢,这正是我想要的!