在使用SAPUI5一段时间以使得typescript类作为SAPUI5控制器工作之后,我想到寻求社区的帮助。我试图使用typescript类作为SAPUI5控制器。我有基本的类工作,但如果我想创建一个带有参数的构造函数的类,我的参数总是被设置为undefined,我只是无法弄清楚如何正确地解决它或通过不好的黑客只是破解:)。请查看下面的代码,并建议我可以采取哪些措施来实现这一目标。
sap.ui.define([
"worklist/controller/BaseController",
"sap/ui/model/json/JSONModel"
// Insert your used ui5 elements here to get them loaded
], (Controller: worklist.controller.BaseController, JSONModel: any) => {
"use strict";
return Controller.extend("worklist.controller.View1", {
constructor: function (json: any) {
Controller.apply(this, JSONModel);
}
});
});
namespace worklist.controller {
export class View1 extends worklist.controller.BaseController {
constructor(json: any) {
super();
}
onInit(): void {
console.clear();
console.info("name initialized");
}
onBeforeRendering(): void {
console.info("name onBeforeRendering");
}
onAfterRendering(): void {
const router = this.getRouter();
console.info("name onAfterRendering");
}
onExit(): void {
console.info("name onExit");
}
}
}
在上面的代码中,您可以看到我的View1构造函数将jsson作为参数。我正在尝试或想要将JSONModel传递给该参数但是有些困难。非常感谢任何帮助。
答案 0 :(得分:0)
方法" appply"接收第二个参数的数组。所以请按以下方式使用它。
Controller.apply(this, [JSONModel]);