将 jQuery $(this) 与 ES6 Arrow Functions 一起使用(对这个绑定进行词法化)
2022-08-30 02:37:14
将 ES6 箭头函数与词法绑定结合使用非常棒。this
但是,我刚才遇到了一个问题,将其与典型的jQuery单击绑定一起使用:
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'); }
});
}
}
然后转换为 ES5 (self = this) 类型的闭包。$(this)
有没有办法让 Traceur 忽略词法绑定的“$(this)”?