// 根据data.systemMenu生成菜单条和菜单按钮下面使用的菜单数据
getMenus : function() {
var items = [];
var menuData = this.get('systemMenu'); // 取得定义好的菜单数据
Ext.Array.each(menuData, function(group) { // 遍历菜单项的数组
var submenu = [];
// 对每一个菜单项,遍历菜单条的数组
Ext.Array.each(group.items, function(menuitem) {
submenu.push({
mainmenu : 'true',
moduleName : menuitem.module,
text : menuitem.text,
icon : menuitem.icon,
glyph : menuitem.glyph,
handler : 'onMainMenuClick' // MainController中的事件处理程序
})
})
var item = {
text : group.text,
menu : submenu,
icon : group.icon,
glyph : group.glyph
};
items.push(item);
})
return items;
} 其中的 handler : ‘onMainMenuClick‘,就是在点击了菜单以后,去执行 MainController.js中的 onMainMenuClick 函数。修改一下MainController.js 文件,先引入Module.jsuses : ['app.view.module.Module'],
// 选择了主菜单上的菜单后执行
onMainMenuClick : function(menuitem) {
var maincenter = this.getView().down('maincenter');
maincenter.setActiveTab(maincenter.add({
xtype : 'modulepanel',
closable : true,
reorderable : true
}));
}跟我一起学extjs5(13--执行菜单命令在tabPanel中显示模块),布布扣,bubuko.com
跟我一起学extjs5(13--执行菜单命令在tabPanel中显示模块)
原文地址:http://blog.csdn.net/jfok/article/details/37657953