我定义了一个带有多个选项卡的选项卡面板,在其中一个选项卡中我有一个带有网格和其他东西的面板。我定义了一个控制器来从网格中获取事件。虽然我可以从面板中获取事件,但无法从网格中获取事件。
这是视口在这里:
Ext.define('test.MyViewport', {
extend: 'Ext.container.Viewport',
layout: 'fit',
items: {
xtype: 'tabpanel',
items: [{
title: 'Tab 1',
html: 'something'
},{
title: 'Tab 2',
xtype: 'mypanel'
},{
title: 'Tab 3',
html: 'something else 2'
}]
}
这是面板:
Ext.define('test.MyPanel', {
extend: 'Ext.container.Container',
alias: 'widget.mypanel',
layout: {
type: 'hbox',
border: 1
},
items: [{
xtype: 'mygrid',
width: 300
},{
xtype: 'component',
html: 'Hello There'
}]
});
这是控制器:
Ext.define('test.MyController', {
extend: 'Ext.app.Controller',
init: function() {
this.control({
'mypanel': { show: function(){console.log( "Show Panel" );} },
'mygrid': { show: function(){console.log( "Show Grid" );} }
});
}
});
完整的代码可以在这个fiddle中测试。
我尝试了许多不同的选择器:
mypanel mygrid
#my-grid-id (setting itemId on the grid item in the panel)
mypanel #my-grid-id
...
没有成功。我已经花了两天时间解决这个问题,但不知道如何解决它。我应该为该特定视图启动不同的控制器吗?如果是这样我应该把它放在哪里?
非常感谢