Extjs4 单击事件未从ExtJS 4 MVC中的控制器中注册

Extjs4 单击事件未从ExtJS 4 MVC中的控制器中注册,extjs4,extjs4.1,extjs-mvc,Extjs4,Extjs4.1,Extjs Mvc,在控制器中订阅的我的按钮单击事件将被触发。这是代码 WebAppMasterController.js Ext.define'P.e.w.controller.WebAppMasterController'{ 扩展:“P.e.w.controller.IController”, 观点:[ “WebAppMasterView” ], 参考文献:[ { 参考:“webAppView”, 选择器:“WebAppMasterView” } ], init:函数{ 这是我的控制{ “WebAppMaste

在控制器中订阅的我的按钮单击事件将被触发。这是代码

WebAppMasterController.js

Ext.define'P.e.w.controller.WebAppMasterController'{ 扩展:“P.e.w.controller.IController”, 观点:[ “WebAppMasterView” ], 参考文献:[ { 参考:“webAppView”, 选择器:“WebAppMasterView” } ], init:函数{ 这是我的控制{ “WebAppMasterView”:{ afterrender:this.viewafterrender } }, { '按钮[操作=保存]':{ 单击:函数{ 警报“dslksd”; } } } }, viewafterrender:功能面板{ 警觉的 } }; IController扩展了Ext.app.Controller

在上面的代码中,将触发afterrender事件,但不会触发button click事件

视图:WebAppMasterView.js

Ext.define'P.e.w.view.WebAppMasterView'{ 扩展:“P.w.l.标题”, 别名:“widget.WebAppMasterView”, 构造函数:函数配置{ var me=这个; me.centerregion=me.createCenterRegionconfig; Ext.applyIfconfig{ favoriteBar:没错, 项目:[me.centerregion], 菜单宽度:0 }; this.callParent[config]; }, createBody:函数{ var me=这个; 如果!我是控制面板{ me.controlPanel=Ext.create'Ext.Panel'{ 布局:“适合” }; } 返回me.controlPanel; }, createCenterRegion:函数配置{ var me=这个, centerPanel=Ext.create'Ext.Panel'{ 地区:'中心', 布局:“适合”, 待定:{ xtype:'WorkRequestMenuBar', id:“workrequestmenubar” }, 默认值:{ 边界:假 }, items:[me.createBody] }; 返回中心面板; } }; WorkRequestMenuBar.js

Ext.define'P.e.w.view.WorkRequestMenuBar'{ 扩展:“Ext.Toolbar”,别名:“widget.WorkRequestMenuBar”, 构造函数:函数配置{ config=config |{}; Ext.applyconfig{ 默认值:{ 规模:“大”, cls:'x-btn-text-icon', iconAlign:“顶部” }, 项目:[ { 文本:“新工作请求”, iconCls:“菜单栏createWorkRequest”, 行动:“保存” }, { 文本:“概述”, iconCls:“菜单栏概述” }, '->', { iconCls:“图标大帮助”, 宽度:80, 文本:“帮助” } ] }; this.callParent[config]; } };
你有几个问题

第一。控制器中存在语法错误

     this.control({
               'WebAppMasterView': {
                  afterrender: this.viewafterrender
                }
            }, 
            {
               'button[action=save]': {
                    click: function () {
                        alert('dslksd');
                    }
                }
            }
     //missing --> ); 
},
第二。工具栏配置方法应改为initComponent方法