在单独的 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);
我使用 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);