sapui5 - 如何实现跨应用导航并导航回Fiori launchpad主页?

标签 sapui5 sap-fiori

在我们公司,我们设置了 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/

相关文章:

javascript - SAPUI5 上 .view.xml 和 .controller.js 文件的位置

javascript - SAPUI5 如何通过扩展现有控件来创建自定义控件

google-maps - 如何通过 SAPUI5 GeoMap 控件使用 Google map

sapui5 - UI5 VizFrame 单选

sapui5 - Socket 连接未关闭,然后导航回 Launchpad

sapui5 - SAP UI5 App加载图片有稳定的解决方案吗?

sapui5 - 如何去掉 UI5 路由中 URL 中的哈希符号 (`#` )?

sapui5 - 如何将 XML 片段添加到 XML View ?

javascript - SAPUI5 DatePicker minDate 不工作

sap-fiori - SAPUI5中如何自定义Shell容器