Sapui5 如何从launchpad导航到Fiori应用,然后再返回?

Sapui5 如何从launchpad导航到Fiori应用,然后再返回?,sapui5,Sapui5,在我们公司,我们已经建立了Fiori launchpad,在其中我们配置了一个链接到定制开发的SAPUI5应用程序的互动程序,该应用程序作为BSP部署在服务器上。我们花了很长时间,但在该应用程序中使用路由器模式,我们成功地实现了从Launchpad平铺到自定义UI5应用程序的导航 然而,我们正在努力解决的是以下两个其他导航路径: 从应用程序返回Fiori启动板(返回主页) 从应用程序到另一个应用程序(磁贴到磁贴) 理想情况下,这种应用程序外导航是以UI5方式进行的,包括转换,因此不只是JS中

在我们公司,我们已经建立了Fiori launchpad,在其中我们配置了一个链接到定制开发的SAPUI5应用程序的互动程序,该应用程序作为BSP部署在服务器上。我们花了很长时间,但在该应用程序中使用路由器模式,我们成功地实现了从Launchpad平铺到自定义UI5应用程序的导航

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

  • 从应用程序返回Fiori启动板(返回主页)
  • 从应用程序到另一个应用程序(磁贴到磁贴)
理想情况下,这种应用程序外导航是以UI5方式进行的,包括转换,因此不只是JS中的window.replace。经过长时间的搜索,我发现支持此方案的唯一提示是在以下类中:


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

假设您使用
语义对象
进行启动板中配置的就地导航,以导航到UI5应用程序,您可以使用前面提到的
跨应用程序导航
服务从一个应用程序导航到另一个应用程序。然而,关于它的文档有点混乱。这就是我的工作原理:

// 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)只有在我进入我的Fiori应用程序并按下后退按钮时才起作用。如果我在一个列表项或详细信息视图项中单击,它将不工作,返回到所选项目列表。。。你知道如何避免这个错误吗?
window.history.go(-1)