在onInit
应用程序中的控制器的SAPUI5
函数的某些部分,有一个自动生成的代码,如下所示:
this.getView().addEventDelegate({
onBeforeFirstShow: function() {
// Some codes
}.bind(this)
});
现在我的问题是.bind(this)
是什么意思?它有什么作用?它是纯JavaScript代码还是与SAPUI5相关?
答案 0 :(得分:4)
是的,它是纯粹的javascript代码,您可以详细了解绑定是什么和here
bind()方法创建一个新函数,在调用时,将其this关键字设置为提供的值,并在调用新函数时提供任何前面提供的给定参数序列。
在这种情况下,它所做的基本上是将当前this
绑定到该函数,因此当调用onBeforeFirstShow
时,该函数内的this
将是传递给bind
的函数。 {1}}功能。
您可能还想查看ES6中的新箭头函数语法,它会自动绑定当前this
,因此不需要bind(this)
。
答案 1 :(得分:3)
它将函数的侦听器绑定到当前类,然后当您在this
函数内使用onBeforeFirstShow
指针时,this
指针引用封装的类,您可以访问对其成员。
答案 2 :(得分:0)
bind()
方法创建一个新函数,在调用时,将其this关键字设置为提供的值,并在调用新函数时提供任何前面提供的给定参数序列。
<强>语法强>
fun.bind(thisArg [,arg1 [,arg2 [,...]]])