Использование jQuery $ (this) с функциями стрелок ES6 (лексическое связывание this)
Использование функций стрелок 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'); }
});
}
}
А потом$(this)
конвертируется в тип закрытия ES5 (self = this).
Можно ли заставить Traceur игнорировать "$ (this)" для лексического связывания?