如何从启动板导航到Fiori应用程序再返回?

时间:2014-10-28 14:43:50

标签: sap sapui5

在我们公司,我们已经设置了Fiori启动板,我们在其中配置了一个链接到定制开发的SAPUI5应用程序的磁贴,该应用程序在服务器上部署为BSP。我们花了很长时间,但在该应用程序中使用路由器模式,我们设法从Launchpad磁贴导航到自定义UI5应用程序工作。

然而,我们正在努力解决的是这两个其他导航路径:

  • 从应用程序返回Fiori启动板(回家)
  • 从应用程序到另一个应用程序(平铺到平铺)

理想情况下,这种应用程序外导航是以UI5方式进行的,包括转换,因此不仅仅是JS中的window.replace。经过长时间的搜索,我发现支持这种情况的唯一提示是在这个类中:

https://sapui5.hana.ondemand.com/sdk/#docs/api/symbols/sap.ushell.services.CrossApplicationNavigation.html

但是,我不明白如何使用它。该示例甚至不正确并且具有语法错误。我在其他地方发现了两个论坛帖子,询问如何使用它,但他们缺乏任何有意义的答案。

1 个答案:

答案 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)

这仍然会触发正确的过渡。