Verwenden von jQuery $ (this) mit ES6-Pfeilfunktionen (lexikalisch diese Bindung)
Verwenden von ES6-Pfeilfunktionen mit lexikalischemthis
Bindung ist großartig.
Ich bin jedoch vor kurzem auf ein Problem gestoßen, das mit einer typischen jQuery-Klickbindung verwendet wurde:
class Game {
foo() {
self = this;
this._pads.on('click', function() {
if (self.go) { $(this).addClass('active'); }
});
}
}
Verwenden Sie stattdessen eine Pfeilfunktion:
class Game {
foo() {
this._pads.on('click', () => {
if (this.go) { $(this).addClass('active'); }
});
}
}
Und dann$(this)
wird auf ES5-Abschluss (self = this) konvertiert.
Ist es eine Möglichkeit, Traceur zu veranlassen, "$ (this)" für die lexikalische Bindung zu ignorieren?