在我们公司,我们已经设置了Fiori启动板,我们在其中配置了一个链接到定制开发的SAPUI5应用程序的磁贴,该应用程序在服务器上部署为BSP。我们花了很长时间,但在该应用程序中使用路由器模式,我们设法从Launchpad磁贴导航到自定义UI5应用程序工作。
然而,我们正在努力解决的是这两个其他导航路径:
理想情况下,这种应用程序外导航是以UI5方式进行的,包括转换,因此不仅仅是JS中的window.replace。经过长时间的搜索,我发现支持这种情况的唯一提示是在这个类中:
但是,我不明白如何使用它。该示例甚至不正确并且具有语法错误。我在其他地方发现了两个论坛帖子,询问如何使用它,但他们缺乏任何有意义的答案。
答案 0 :(得分:1)
假设您使用Semantic Objects
在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)
这仍然会触发正确的过渡。