私の他のライブラリにはフォーマッター関数があり、私の目的はこの関数を使用することです。ここに私のFormatter.js:
sap.ui.define([], function () {
"use strict";
var Formatter = {
showAsDate : function(str){...}
};
return Formatter;
});
そして私のフラグメントでは、私はそれを以下のように使用しています:
<Text text="{
path: 'jsonModel>/date',
formatter : '.Formatter.showAsDate'
}" />
そして、以下のようにコントローラーでFormatter.jsを呼び出します。
sap.ui.define(["libpath/Formatter"], function (Formatter){
"use strict";
return Controller.extend("controller.myController", {
Formatter : Formatter,
//I add my fragment to myView with this method
//and I am calling this method in onInit.
_showFormFragment : function (sFragmentName) {
var oPage = this.getView().byId("page");
oPage.removeAllContent();
oPage.insertContent(this._getFormFragment(sFragmentName));
}
});
});
私はopenui5betaライブラリを使用しています。そして、ウォークスルーサンプルに従ってビューとコントローラーをコーディングしました。また、InvoiceList.controller.js、InvoiceList.view.xml、HelloDialog.fragment.xmlでも同様の使用法を確認できます。しかし、これらのサンプルは、フラグメントからではなくビューからフォーマッターに到達する方法を示しています。myView.view.xmlからFormatter.jsにアクセスできますが、フラグメントからアクセスできません。何か助けていただければ幸いです。
フラグメントがどのように呼び出されるかを共有できますか?通常、フラグメントが呼び出されると、次のようなJSオブジェクトコンテキストを指定するための追加のパラメーターがあります。
var oFragment = sap.ui.xmlfragment("YourFragment.xml",this);
上記のコードはコントローラーで呼び出されるため、「this」はコントローラーインスタンスを参照し、フォーマット関数が機能するはずです。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加