关于JavaScript绑定方法
About JavaScript bind method
参考代码段
this.localizationChanged = this.localizationChanged.bind(this);
谁能告诉我为什么要那样写?
谁能告诉我为什么要那样写?
localizationChanged
用作事件处理程序:
LocalizationStore.addChangeListener(this.localizationChanged);`
如果处理程序未绑定到组件实例,则this
将不会引用组件实例,也不可能调用组件的setState
方法(this.setState(...)
)。
bind()方法创建一个新函数,当调用该函数时该关键字设置为提供的值,具有给定的在调用新函数时提供的任何参数之前的参数。
来自MDN。
如果您试图在localizationChanged函数中访问它,则绑定它。
然而,在ES2015中,您不需要这样做。您可以使用箭头运算符:
localizationChanged =()=>{
console.log(this);
}
相关文章:
- 将对象的方法绑定到元素的事件
- 将类方法绑定到类外绑定的事件处理程序内的AJAX成功回调
- bind():您正在将一个组件方法绑定到该组件.React会自动为您执行此操作
- JS方法绑定与2个不同的这个
- backbonejs:不能调用未定义的方法“绑定”
- 将所有方法绑定到“this”
- 内联方法绑定是一种不好的做法
- 如何使用 jQuery 和静态页方法绑定控件数据
- 在Javascript中,有没有一种简洁的方法可以将方法绑定到对象
- 如何将多个方法绑定到单个事件
- 监视一个方法与西农.方法绑定到事件侦听器.方法已执行,但.calledOnce为false
- Javascript OOP:将方法绑定到事件处理程序
- “this"当方法绑定到事件侦听器时未定义
- 如何将参数传递给绑定方法?绑定与匿名方法
- 将c++的虚方法绑定到具有覆盖能力的js中
- Backbone.js集合方法绑定
- 为什么我必须为React组件类中定义的方法绑定(this),而不是在常规ES6类中
- 了解AngularJS指令方法绑定是否默认为angular.noop
- 主干任务示例方法绑定
- 将带有参数的方法绑定到主干模型更改事件