1
問題是使用1.28引入的expression binding打印出當前年份。函數調用OpenUI5/SAPUI5中的表達式綁定
表達式綁定能夠執行全局可訪問的JS函數。
目標:在表達式執行(新日期())和getFullYear()結合
- 在this JSFiddle第一次嘗試時執行全局字符串。{:= Math.PI} =>工作
- 第二次嘗試是定義一個全局函數
window.temp = function() {return 'test'};
並經由<Text text="{:=temp()}" />
執行它=>失敗 - 目標
<Input value="{:=(new Date()).getFullYear()}" />
場所解析器和是的jsfiddle爲此outcommented。 錯誤信息被預期),而是看到日期在9位 - {:=(新的Date())和getFullYear()} sap.ui.base.ExpressionParser
第一個問題是:爲什麼解析器中斷?這是一個錯誤還是我做錯了什麼?
第二個問題是:即使目標是不可能的。爲什麼我的第二次嘗試也不起作用?
Re「可以使用通過全局符號可用的唯一功能」: 如果有文檔記錄,會不錯。在找到你的答案之前,我已經花費了很多年了。 –
嗨,彼得,這是記錄。從語法元素函數調用的文檔:「您可以使用通過全局符號可用的函數,如Math.max(...)或isNaN(...)。」 – matbtt
嗨matbtt,不要嘲笑語義,但它沒有「唯一」一詞作爲你的答案。我想這似乎是一個合理的事情來推斷,但老實說,我在閱讀文檔之前,我去尋找答案,並得到的印象是更多的是它可以如何使用,而不是限制的建議。 –