我有许多视图,控制器几乎具有相同的功能。我想要的是拥有一个母控制器或类或其他什么,它们具有抽象或实现的所有这些功能。然后视图控制器将继承或扩展该母控制器。我想确定即使我没有在视图控制器中显式实现该函数,下面的代码仍然可以工作。
content.onMove(); // Content is the controller of the view
我不会得到这种错误“找不到onMove()”
我没有任何起点
谢谢。
答案 0 :(得分:1)
SAPUI5使用require.js原则:
sap.ui.define([
"sap/ui/core/mvc/Controller"
], function (Controller) {
"use strict";
return Controller.extend("", {
});
});
因此,您可以查看require.js文档以了解有关类结构的更多信息。
我认为你不会因为它在JS中不存在而被禁止,但你可以很容易地覆盖这个功能。
例如,您将拥有类似的基本控制器:
sap.ui.define([
"sap/ui/core/mvc/Controller"
], function (Controller) {
"use strict";
return Controller.extend("sap.mydemo.baseController", {
onShowHello : function () {
alert("Hello World");
},
onShowGoodBye : function () {
alert("Goodbye World");
}
});
});
然后在你自己的控制器上调用它:
ap.ui.define([
"sap/mydemo/baseController"
], function (Controller) {
"use strict";
return Controller.extend("", {
SayHelloAndGoodBye: function(){
Controller.SayHello();
Controller.SayGoodBye();
}
});
});
这应该有用。