跨应用导航中的SAP Fiori路由问题

时间:2015-07-29 14:09:00

标签: sapui5 sap-fiori

我试图解决另一个开发人员代码中的一个主要问题。解释下面的场景和问题。任何有关解决方案的帮助都将不胜感激,谢谢!

问题涉及的应用和屏幕: 自定义Fiori App 1:屏幕1(单一视图),屏幕2(主视图和详细视图) 自定义Fiori App 2:屏幕1(主视图和详细视图)

导航至:在App1中,点击屏幕1页脚中的按钮,导航将在同一个应用中的屏幕2上进行。现在点击屏幕2的页脚中的按钮,导航发生在App 2上。 - 这很好用。 导航回来点击主页面标题中的后退按钮,导航应该发生在应用1中的屏幕2,因为用户刚刚从那里来。但这并不是那样的。它将进入App1的屏幕1。这是后退函数的代码:

onBack:function()
{
  this.oRouter.detachRouteMatched(this.handleNavTo, this, this);
  var oCrossAppNavigator = sap.ushell.Container.getService("CrossApplicationNavigation");
  oCrossAppNavigator.toExternal({
  target: {semanticObject : "ZManageAccount", action: "displayMangeAccount" }
  });
}

1 个答案:

答案 0 :(得分:0)

我之前也遇到过这个导航的问题。

我能够通过提供shellHash代替semanticObjectaction来使其发挥作用。 (目标仍然相同。)

onBack: function () {
    this.oRouter.detachRouteMatched(this.handleNavTo, this, this);
    sap.ushell.Container.getService("CrossApplicationNavigation").toExternal({
        target: {
            shellHash: "ZManageAccount-displayMangeAccount"
        }
    });
}