【问题标题】:Get SAPUI5 router object in separate javascript file在单独的 javascript 文件中获取 SAPUI5 路由器对象
【发布时间】:2017-04-28 08:24:47
【问题描述】:
我使用 MVC 模式在 SAP Cloud 平台上创建了一个 HTML5 应用程序。
在 index.html 文件中,该部分中添加了一个 javascript 文件引用。在这个 JS 文件中,我想访问应用程序的路由器,以从外部源(使用 Web 套接字)引导应用程序。该文件将包含处理传入推送消息并导航到所需页面的所有逻辑。
我正在努力让这个文件中的路由器对象导航,有没有办法从 sap 核心获取路由器对象,...?
谢谢
【问题讨论】:
标签:
javascript
routing
sapui5
router
【解决方案1】:
通过在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);