Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Extjs 如何在Ext JS 4.2(Sencha Architect)中的事件中运行conroller方法_Extjs_Sencha Architect_Extjs4.2 - Fatal编程技术网

Extjs 如何在Ext JS 4.2(Sencha Architect)中的事件中运行conroller方法

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

我有以下结构

包含视图的控制器(例如MyPanelView)

在MyPanelView中,您可以有一个按钮,并给它一个itemId。那你可以 将其绑定到单击事件。您可以在不使用控制器的情况下使用单击事件(内联), 或者,您可以将事件移动到控制器。那很好

但是这些事件呢?渲染后、渲染前等。。?如果你把这个移到 控制器,事件不会在那里触发

由于这不起作用,我如何访问中的控制器方法 面板的afterrender功能

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');
     }
 });