sapui5 app之间迁移

sapui5使用hash(#)来标记各个画面。

如Home的url

如Deriect的url

我们可以看到只有hash之后的内容是不同的,所以两个app之间的跳转,我们只需要改变url的hash就可以了。

创建App1

添加跳转事件

        onRedirect: function () {
            // get a handle on the global XAppNav service
            var oCrossAppNavigator = sap.ushell.Container.getService("CrossApplicationNavigation"); 
            oCrossAppNavigator.isIntentSupported(["ZTESTAPP3-display"])
                .done(function(aResponses) {

                })
                .fail(function() {
                    //alert("Provide corresponding intent to navigate");
                });
            // generate the Hash to display a employee Id
            var hash = (oCrossAppNavigator && oCrossAppNavigator.hrefForExternal({
                target: {
                    semanticObject: "ZTESTAPP3",
                    action: "display"
                },
                params: {
                "EmpId2": 10
                }
            })) || ""; 
            //Generate a  URL for the second application
            var url = window.location.href.split("#")[0] + hash; 
            //Navigate to second app
            sap.m.URLHelper.redirect(url, false); 
        }

其中的"ZTESTAPP3"就是我们需要跳转的App。

当发布App的时候又两种形式

第一种是发布在sap cloud platform上。

发布App3

 

当注册的时候,需要指定Semantic Object与Action,指定的这部分内容会反映在url的hash中,所以需要与App1的跳转的设置一致。

 

另外一种是发布到Abap Repository上

登入sapgui,使用Tcode /UI2/SEMOBJ(/o/UI2/SEMOBJ),生成Semantic Object。

这样可以在fiori的管理页面中,使用Semantic Object。

 

使用这里设置的Semantic Object与action,来进行跳转。

sap.m.URLHelper.redirect(url, false); false的场合,不会打开新页面,ture的场合,打开新页面。

参照blog:https://blogs.sap.com/2017/06/23/cross-app-navigation-in-sap-fiori-launchpad/

转载于:https://www.cnblogs.com/suoluo119/p/11583875.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值