在单独的 javascript 文件中获取 SAPUI5 路由器对象

Get SAPUI5 router object in separate javascript file

我使用 MVC 模式在 SAP Cloud 平台上创建了一个 HTML5 应用程序。 在 index.html 文件中,部分中添加了 javascript 文件引用。在这个 JS 文件中,我想访问应用程序的路由器,以从外部源(使用网络套接字)引导应用程序。此文件将包含处理传入推送消息和导航到所需页面的所有逻辑。

我正在努力让这个文件中的路由器对象进行导航,有没有办法从 sap 核心获取路由器对象,...?

谢谢

通过在 component.js 文件中注册路由器然后在另一个文件中访问它来解决它:)

-Component.js

sap.ui.define([
   "sap/ui/core/UIComponent"
], function (UIComponent) {
   "use strict";
   return UIComponent.extend("be.myapp.Component", {
      metadata : {
            manifest: "json"
      },
      init : function () {
  // call the init function of the parent
  UIComponent.prototype.init.apply(this, arguments);
         
  var router = this.getRouter();
  this.routeHandler = new sap.m.routing.RouteMatchedHandler(router);
  router.register("appRouter");  // Assign a name to Router, so that we can access it in all controllers by using this name  
  router.initialize(); // Initialise the Router  
         
      }
   });
});

var oRouter = sap.ui.core.routing.Router.getRouter("appRouter");
oRouter.navTo("overview", {}, true);