ID我需要一個控件的ID傳遞給格式化。這是我控制的定義:Pass Control技術對格式化功能
<Text id="controlId" text="{parts:[{path: 'details>/key1'},{path: 'details>/key2'}], formatter: '.userFormatter._formatField'}"/>
格式化在另一個文件中定義:
sap.ui.define(
function(){
"use strict";
return {
_formatField: function(sText1, sText2){
console.log("this ---> ",this);
return sText1 + " - " + sText2;
}
}
格式化定義的相關負責人:
sap.ui.define([
"My/Namespace/controller/BaseController",
"My/Namespace/common/userFieldsFormatter"
], function(BaseController, userFormatter) {
"use strict";
return BaseController.extend("My.Namespace.controller.Detail", {
userFormatter: userFormatter
});
在控制檯中我看到了控制器對象(試圖對類似問題實施THIS解決方案 - 不起作用)。
你使用你做參考的解決方案時,你得到了什麼錯誤的事情更清楚一點的實例(指定格式化爲My.Namespace.common.userFieldsFormatter._formatField)?這將是正確的方式來改變格式化函數內的這個內容作爲控制本身 –
@IanMacGregor我不'得到任何錯誤,它工作正常,但'this'的上下文是控制器,而不是控制。如果我做指定格式化功能'格式:「My.Namespace.common.userFieldsFormatter._formatField'',我得到'格式化功能My.Namespace.common.userFieldsFormatter._formatField沒有發現'的錯誤! – keshet