我试图解决另一个开发人员代码中的一个主要问题。解释下面的场景和问题。任何有关解决方案的帮助都将不胜感激,谢谢!
问题涉及的应用和屏幕: 自定义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" }
});
}
答案 0 :(得分:0)
我之前也遇到过这个导航的问题。
我能够通过提供shellHash
代替semanticObject
和action
来使其发挥作用。 (目标仍然相同。)
onBack: function () {
this.oRouter.detachRouteMatched(this.handleNavTo, this, this);
sap.ushell.Container.getService("CrossApplicationNavigation").toExternal({
target: {
shellHash: "ZManageAccount-displayMangeAccount"
}
});
}