Javascript 类概念SAPUI5

Javascript 类概念SAPUI5,javascript,class,sapui5,Javascript,Class,Sapui5,我有许多视图,其中大多数具有相同的功能。我想要的是有一个母控制器或类或其他任何东西,它有所有这些函数的抽象或实现。视图控制器随后将继承或扩展此主控制器。我想确保,即使我没有在视图控制器中显式地实现该函数,下面的代码仍然可以工作 content.onMove(); // Content is the controller of the view 我不会出现这种错误“找不到onMove()” 我没有任何出发点 谢谢。SAPUI5使用require.js原则: sap.ui.define([

我有许多视图,其中大多数具有相同的功能。我想要的是有一个母控制器或类或其他任何东西,它有所有这些函数的抽象或实现。视图控制器随后将继承或扩展此主控制器。我想确保,即使我没有在视图控制器中显式地实现该函数,下面的代码仍然可以工作

content.onMove(); // Content is the controller of the view
我不会出现这种错误“找不到onMove()”

我没有任何出发点


谢谢。

SAPUI5使用require.js原则:

sap.ui.define([
   "sap/ui/core/mvc/Controller"
], function (Controller) {
   "use strict";
   return Controller.extend("", {
   });
});
因此,您可以查看require.js文档,以了解有关类结构的更多信息

我认为你不能有asbract,因为它在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();
                 }
           });
        });
这应该行得通