2017-03-21 22 views
1

私はコントローラにほとんど同じ機能を持っている多くのビューがあります。私が望むのは、すべての機能が抽象的または実装されている、マザーコントローラまたはクラスなどを持つことです。ビューコントローラは、このマザーコントローラを継承または拡張します。私は、明示的にビューコントローラ内の関数を実装していない場合でも、次のコードはまだ動作することを確認したいです。クラスの概念SAPUI5

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

と、私はこの種のエラーが取得することはありません「(onMoveを見つけることができませんでした)」

私は

ありがとう任意の開始点を持っていけません。

答えて

1

SAPUI5利用require.jsの原則:

sap.ui.define([ 
    "sap/ui/core/mvc/Controller" 
], function (Controller) { 
    "use strict"; 
    return Controller.extend("", { 
    }); 
}); 

ですから、クラスの組織構造についての詳細を知るためにrequire.jsのドキュメントへの外観を持つことができます。

私はあなたがJSに存在しないのであなたがasbractを持つことができないと思うが、あなたは非常に簡単に関数を上書きすることができます。

は、たとえば、あなたはそのようなベースコントローラがあります:

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

+1

私が必要としたもの。あなたがそこにいることは素晴らしいことです:) require.jsへの参照にも感謝します。それは多くのことを理解するのに役立ちます。 – Aline