我想在启动板中的应用程序之间导航。我通过大量搜索发现,通过 ushell 中的 CrossApplicationNavigation 是一种方法。这是文档的链接(SAPUI5 SDK - Demo Kit)
启动板中的每个应用程序都有“语义对象”和“动作”以供进一步导航。
我遵循文档并编写了以下代码来创建 CrossApplicaionNavigation 服务。
var fgetService =sap.ushell && sap.ushell.Container && sap.ushell.Container.getService;
this.oCrossAppNavigator = fgetService && fgetService("CrossApplicationNavigation");
只是为了确保 oCrossAppNavigator 服务正确启动,编写了以下代码。
var hashForApp = this.oCrossAppNavigator.hrefForExternal({
rget : { semanticObject : "SalesOrder",action : "create" }
});
console.log("Hash for the application: " + hashForApp);
console Output: #SalesOrder-create
因此,知道该服务有效,我编写了以下代码来导航到“SalesOrder”应用程序和“创建”操作。
this.oCrossAppNavigator.toExternal({
target : { semanticObject : "SalesOrder",action : "create" }
});
这是我的问题。上面的语句既不会进入 SalesOrder 应用程序,也不会在控制台中打印任何错误。它应该使用上述哈希码更新 URL 并转到该应用程序。
注意:使用上述哈希码手动更改 URL 将正确转到 SalesOrder 应用程序。
提前致谢,
瓦格利