Extjs5开发学习-13-执行菜单命令在tabPanel中显示模块上面设计好了一个模块的主界面,下面通过菜单命令的执行来把这个模块加入到主界面当中。在MainModule.js中有一个函数,生成了当前的菜单数据:[javascript]viewplaincopy1.//根据data.systemMenu生成菜单条和菜单按钮下面使用的菜单数据2.getMenus:function(){3.varitems=[];4.varmenuData=this.get('systemMenu');//取得定义好的菜单数据5.Ext.Array.each(menuData,function(group){//遍历菜单项的数组6.varsubmenu=[];7.//对每一个菜单项,遍历菜单条的数组8.Ext.Array.each(group.items,function(menuitem){9.submenu.push({10.mainmenu:'true',11.moduleName:menuitem.module,12.text:menuitem.text,13.icon:menuitem.icon,14.glyph:menuitem.glyph,15.handler:'onMainMenuClick'//MainController中的事件处理程序16.})17.})18.varitem={19.text:group.text,20.menu:submenu,21.icon:group.icon,22.glyph:group.glyph23.};24.items.push(item);25.})26.returnitems;27.}其中的handler:'onMainMenuClick',就是在点击了菜单以后,去执行MainController.js中的onMainMenuClick函数。修改一下MainController.js文件,先引入Module.js[javascript]viewplaincopy1.uses:['app.view.module.Module'],再修改里面的函数:[javascript]viewplaincopy1.//选择了主菜单上的菜单后执行2.onMainMenuClick:function(menuitem){3.varmaincenter=this.getView().down('maincenter');4.5.maincenter.setActiveTab(maincenter.add({6.xtype:'modulepanel',7.closable:true,8.reorderable:true9.}));10.}这样每单击一次菜单,都会生成一个Module,并把他放到tabPanel之中去。下面再看看tabPanel之中的另一个功能,在tab上点右键,会有一个弹出式菜单。这里面有一些功能可以使用,可关闭,表示当前tab可以被关掉,在名字上方有一个X,如果取消可关闭,X就会消失,另外登录时自动打开和最多打开的功能现在还没做好。