SAPUI5
アプリケーションでi18nファイルを削除したいと考えています。すべての翻訳を提供するODataサービスを開発し、i18n
モデルをmanifest.json
から削除しました。また、i18n
モデルをComponent.js
のODataサービスに基づいて作成します。しかし、私のi18nモデルのデータに要素がバインドされない理由はわかりません。SAPUI5のODataサービスからi18nを登録する方法は?
text="{i18n>TESTSTRING}"
:このコードは、私のComponent.jsファイルの内とXMLビューファイルの内側に配置されて
oDataModel.read("/TranslationConfigSet", {
async: false,
filters: aFilter,
success: function(oData, response) {
var aI18n = {};
var results = oData.results;
for (var i = 0; i < results.length; i++) {
aI18n[results[i]["ZStringKey"]] = results[i]["ZTranslation"];
}
var oI18nModel = new JSONModel(aI18n);
_this.setModel(oI18nModel, "i18n");
},
error: function(oError) {
}
});
私はこのようないくつかのコードを持っている:ここでは
は、ODATAモデルを作成するための私のコードですTESTSTRINGはデータと配列に存在しますが、
でなければなりません。その場合、どうやって "_this"を定義しましたか?ところで、アイデアは素晴らしいです...あなたがこれを解決するかどうかをコミュニティに知らせてください。素晴らしい投稿! – zyrex
私はそれを解決できることを願っています。 'var _this = this;'はコールバック関数の外側です。 –
私はそれを得ることができません、なぜこれはいい考えですか? OData関連のオーバーヘッドを追加して翻訳をロードし、JSONModelに翻訳を格納し、別のバインディング構文を採用する必要があり、ResourceModelの機能を失う...利点はどこですか? – matbtt