从 SAP UI5 利用启动时察看 Chrome 开发者工具 console 面板,看到如下提醒的谬误音讯:
sap.ui.comp.navpopover.SemanticObjectController: Service ‘CrossApplicationNavigation’ could not be obtained –
SAP UI5 CrossApplicationNavigation 是一种用于在 SAP Fiori Launchpad 中实现不同利用之间导航的技术。通过 CrossApplicationNavigation,开发人员能够在各种 Fiori 应用程序之间创立链接,以实现更好的用户体验和集成。它是 SAP UI5 框架中的一个重要性能,用于反对企业级应用程序的可扩展性和可维护性。本文将具体介绍 CrossApplicationNavigation 的概念、实现办法和最佳实际。
- 背景和动机
随着 Fiori 应用程序的一直增长和复杂性的进步,开发人员须要一种简略、牢靠的办法来实现应用程序之间的导航。特地是在企业级应用程序中,用户须要在多个利用之间流畅地切换,以实现各种工作。CrossApplicationNavigation 的目标是为开发人员提供一种简化导航的办法,同时确保应用程序之间的链接是稳固的。
- CrossApplicationNavigation 的工作原理
CrossApplicationNavigation 是通过应用 SAP Fiori Launchpad 的组件来实现的。Fiori Launchpad 是一个集中式的用户界面,容许用户拜访和治理他们的 Fiori 应用程序。当用户点击一个跳转链接时,Fiori Launchpad 会解析并解决该链接,而后依据须要加载指标应用程序。
CrossApplicationNavigation 的外围是一个名为 “ShellNavigation” 的服务。该服务提供了一组 API,用于创立和解决跨利用导航链接。开发人员能够应用这些 API 在应用程序之间创立链接,而不用关怀底层实现细节。
- 实现 CrossApplicationNavigation
要实现 CrossApplicationNavigation,开发人员须要遵循以下步骤:
3.1. 配置 Fiori Launchpad
首先,确保 Fiori Launchpad 正确配置了所有须要导航的应用程序。在 Fiori Launchpad 的配置文件中,每个应用程序都须要一个惟一的 “semantic object” 和 “action”。这些值将用于创立和辨认跳转链接。
3.2. 应用 ShellNavigation 服务
在应用程序中,应用 ShellNavigation 服务创立跨利用导航链接。ShellNavigation 服务能够通过 SAP UI5 的依赖注入零碎取得。以下是一个简略的示例,阐明如何应用 ShellNavigation 服务创立一个跳转链接:
sap.ui.define([
"sap/ui/core/mvc/Controller",
"sap/ushell/Container"
], function(Controller, Container) {
"use strict";
return Controller.extend("my.app.controller.Main", {onInit: function() {this.oCrossAppNav = Container.getService("CrossApplicationNavigation");
},
onNavigate: function() {
var sSemanticObject = "MyTargetApp";
var sAction = "display";
this.oCrossAppNav.toExternal({
target: {
semanticObject: sSemanticObject,
action: sAction
}
});
}
});
});