I solved my problem: Each time I click on a menu item, I call this function in the view controller:
//when click on item onPressMenuItem: function(evt) { var selectedItem=evt.getSource().getBindingContext().getObject(); var objAction=getActionWhenPressMenuItem(selectedItem, this.getView().getModel()); console.log(objAction); if(objAction.hasNextSidebar==true){ // sub menu var model = new sap.ui.model.json.JSONModel(); model.setData(objAction.nextSidebar); var oSplitApp=sap.ui.core.Core().byId("splitApp"); var nextView = sap.ui.xmlview("general.master.menuMaster"); nextView.setModel(model); nextView.byId("idPageSidebar").setTitle(selectedItem.text); oSplitApp.addMasterPage(nextView); oSplitApp.toMaster(nextView); }else{ // open operation detail var idDetail =objAction.opDetail; var targetApp = getAppBySelectionId(idDetail); if(targetApp.masterView!=null){//if app has own master sap.ui.getCore().getEventBus().publish("navMaster", "to", { idView: targetApp.masterView }); } if(targetApp.detailView!=null){//if app has own detail sap.ui.getCore().getEventBus().publish("navDetail", "to", { //titleOfDetailPage: selectedItem.text, idView: targetApp.detailView, //idCall: selectedItem }); } } },
Each time I create a new menu value on a new page.
padibro
source share