Extjs 如何在Ext JS 4.2(Sencha Architect)中的事件中运行conroller方法
我有以下结构 包含视图的控制器(例如MyPanelView) 在MyPanelView中,您可以有一个按钮,并给它一个itemId。那你可以 将其绑定到单击事件。您可以在不使用控制器的情况下使用单击事件(内联), 或者,您可以将事件移动到控制器。那很好 但是这些事件呢?渲染后、渲染前等。。?如果你把这个移到 控制器,事件不会在那里触发 由于这不起作用,我如何访问中的控制器方法 面板的afterrender功能Extjs 如何在Ext JS 4.2(Sencha Architect)中的事件中运行conroller方法,extjs,sencha-architect,extjs4.2,Extjs,Sencha Architect,Extjs4.2,我有以下结构 包含视图的控制器(例如MyPanelView) 在MyPanelView中,您可以有一个按钮,并给它一个itemId。那你可以 将其绑定到单击事件。您可以在不使用控制器的情况下使用单击事件(内联), 或者,您可以将事件移动到控制器。那很好 但是这些事件呢?渲染后、渲染前等。。?如果你把这个移到 控制器,事件不会在那里触发 由于这不起作用,我如何访问中的控制器方法 面板的afterrender功能 onAfterrenderMyPanelView : function(compone
onAfterrenderMyPanelView : function(component, eOpts) {
this.getRefToOtherPanel() //not working
}
提前谢谢!我迷路了
Chris。您可以像这样在控制器中设置侦听器和事件处理程序(来自Sencha文档的示例):
Ext.define('MyApp.controller.Users'{
扩展:“Ext.app.Controller”,
init:function(){
这是我的控制({
“viewport>panel”:{/您可以像这样在控制器中设置侦听器和事件处理程序(来自Sencha文档的示例):
Ext.define('MyApp.controller.Users'{
扩展:“Ext.app.Controller”,
init:function(){
这是我的控制({
“viewport>panel':{//没有“特殊”事件,控制器将拾取任何内容。最常见的两个原因是,在调用control()
之前触发了事件,或者事件的选择器不匹配。谢谢,情况就是这样。.事件是在控件()之前触发的,没有“特殊”事件时,控制器将拾取任何内容。最常见的两个原因可能是在调用control()
之前触发了事件,或者事件的选择器不匹配。谢谢,情况就是这样..事件是在控件()之前触发的感谢您的输入,这正是我所做的。我使用的事件发生在this.control()之前,因此无法捕获。感谢您的输入,这正是我所做的。我使用的事件发生在this.control()之前,因此无法捕获。
Ext.define('MyApp.controller.Users', {
extend: 'Ext.app.Controller',
init: function() {
this.control({
'viewport > panel': { //<-- ComponentQuery
render: this.onPanelRendered //<-- event handler
}
});
},
onPanelRendered: function() {
console.log('The panel was rendered');
}
});