将json映射到Openui5中的菜单 [英] Map json to menu in Openui5

查看:155
本文介绍了将json映射到Openui5中的菜单的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在w2ui中,我可以将json映射到侧边栏 http://w2ui .com/web/demos/#!sidebar/sidebar-1 我可以在openui5中做到吗?

In w2ui I can map a json to a sidebar http://w2ui.com/web/demos/#!sidebar/sidebar-1 Can I do it in openui5?

我想要相同的结果.

很明显,我不想要一棵树,而是想要一个项目列表,如果我点击某个项目(并可视化子菜单列表),则向右滑动,如果我按后退"按钮(并可视化上一级菜单),则向左滑动.

Obviously I do not want a tree but a list of items that swipe right if I tap on an item (and visualize a sub-menu list) and slide left if I press back button (and visualize the menu at upper level).

推荐答案

我解决了我的问题: 每次我在菜单项上单击时,都会将此功能调用到视图控制器中:

I solved my problem: Every time that i click on a menu item i call this function into 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
                });
            }   
        } 

    },

每次在新页面上创建菜单的新位置时,我都会创建

I create every time a new istance of the menu on a new page.

这篇关于将json映射到Openui5中的菜单的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆