类概念SAPUI5

时间:2017-03-21 10:43:12

标签: javascript class sapui5

我有许多视图,控制器几乎具有相同的功能。我想要的是拥有一个母控制器或类或其他什么,它们具有抽象或实现的所有这些功能。然后视图控制器将继承或扩展该母控制器。我想确定即使我没有在视图控制器中显式实现该函数,下面的代码仍然可以工作。

content.onMove(); // Content is the controller of the view

我不会得到这种错误“找不到onMove()”

我没有任何起点

谢谢。

1 个答案:

答案 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();
                 }
           });
        });

这应该有用。