将ES6箭头功能与词汇this
绑定一起使用非常好。
但是,我刚才遇到一个问题,将它与典型的jQuery click绑定一起使用:
class Game {
foo() {
self = this;
this._pads.on('click', function() {
if (self.go) { $(this).addClass('active'); }
});
}
}
改用箭头功能:
class Game {
foo() {
this._pads.on('click', () => {
if (this.go) { $(this).addClass('active'); }
});
}
}
然后$(this)
转换为ES5(self = this)类型的关闭。
是否可以让Traceur忽略词法绑定的“ $(this)”?
.on()
确实具有this
对您有用的值。对我来说,this
引用事件目标比必须通过事件并手动找到目标要清晰得多。我在箭头功能上玩的还不多,但是使用匿名功能来回移动似乎很混乱。