2017-08-18 68 views
0

任何人都可以請解釋如何在控制器的setValueStateText方法中使用i18n文本?如何在SAPUI5的控制器中使用內部化i18n?

oTP.setValueStateText("{i18n>co_Maximal_60_h}"); 

對話框中的錯誤味精只顯示「{國際化> co_Maximal_60_h}」,而不是真正的文本。

+0

你使用哪個控件?它是在一個視圖還是一個控制器?在這種情況下, – n01dea

+0

是一個MaskInput。是的,它是在一個控制器!謝謝! – user2405095

回答

3

資源包是在一個控制器存取方式如下:

... 
    var oResourceBundle = this.getView().getModel("i18n").getResourceBundle(); 
    oTP.setValueStateText(oResourceBundle.getText("co_Maximal_60_h")); 
... 
+0

@Andrii Naumovych是的,感謝您的編輯。困了 – n01dea

2

你不能設置通過setter方法捆紮帶。 在這裏,你有兩個選擇:

  1. 設置綁定右視圖(使用相同字符串,但在XML)
  2. 利用​​:

    var oResourceBundle = this.getOwnerComponent().getModel("i18n").getResourceBundle(); 
    
    var sTxt = oResourceBundle.getText("co_Maximal_60_h"); 
    
    oTP.setValueStateText(sTxt); 
    

我會建議將一個可重用的方法添加到名爲「i18n」的BaseController中,因此,只要您需要,可以調用「this.i18n(」i18n_key「)」。

相關問題