在我们公司,我们设置了 Fiori 启动板。在其中,我们配置了一个链接到自定义开发的 SAPUI5 应用程序的磁贴,该应用程序作为 BSP 部署在服务器上。我们花了很长时间,但在该应用程序中使用路由器模式,我们成功地实现了从启动板图 block 到自定义 UI5 应用程序的导航。
然而,我们正在努力解决的问题是另外两个导航路径:
- 从应用程序返回 Fiori 启动板(返回主页)
- 从应用程序到另一个应用程序(图 block 到图 block )
理想情况下,这种应用程序外导航采用 UI5 方式,包括过渡,因此不仅仅是 JS 中的 window.replace
。经过长时间的搜索,我发现支持这种情况的唯一提示是在此类中:
https://ui5.sap.com/#/api/sap.ushell.services.CrossApplicationNavigation
但是我不明白如何使用它。该示例甚至不正确并且存在语法错误。我在其他地方找到了两个论坛帖子询问如何使用它,但他们缺乏任何有意义的答案。
最佳答案
假设您使用在 Launchpad 中配置的语义对象
进行就地导航来导航到 UI5 应用程序,您可以使用您的 CrossApplicationNavigation
服务从一个应用程序导航到另一个应用程序已经提到了。然而,有关它的文档有点令人困惑。这对我来说是这样的:
// Step 1: Get Service for app to app navigation
var navigationService = sap.ushell.Container.getService("CrossApplicationNavigation");
// Step 2: Navigate using your semantic object
navigationService.toExternal({
target : { semanticObject : "<YourObject>", action: "<YourAction>" },
params : { A : "B" } // optionally
})
如果您想在就地导航后返回启动板,只需调用
window.history.go(-1)
这仍然会触发正确的转换。
关于sapui5 - 如何实现跨应用导航并导航回Fiori launchpad主页?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26611228/