OpenUI5 / SAPUI5中的表达式绑定中的函数调用

时间:2016-03-02 16:40:48

标签: javascript templates binding sapui5

问题是使用1.28中引入的expression binding来打印当前年份。

Expression Binding能够执行全局可访问的JS函数。

目标:在表达式绑定中执行(new Date())。getFullYear()

  • this JSFiddle中,第一次尝试是执行全局字符串{:= Math.PI} =>的工作原理
  • 第二次尝试是定义全局函数window.temp = function() {return 'test'};并通过<Text text="{:=temp()}" /> =&gt;执行它的失败
  • 目标<Input value="{:=(new Date()).getFullYear()}" />打破解析器,并在其中的jsfiddle中取消注释。 错误消息是预期的,但是在第9位看到日期 - {:=(new Date())。getFullYear()} sap.ui.base.ExpressionParser

第一个问题是:为什么解析器会中断?这是一个错误还是我做错了什么?

第二个问题是:即使目标不可行。为什么我的第二次尝试也不起作用?

1 个答案:

答案 0 :(得分:1)

我认为解析器会中断,因为它不支持 new 运算符。您的第二个示例不起作用,因为只能使用通过全局符号可用的函数。那里没有列出窗口对象。