ES6 ok işlevlerini sözcüksel this
ciltleme ile kullanmak harika.
Ancak, bir dakika önce tipik bir jQuery tıklama bağlamasıyla kullanarak bir sorunla karşılaştım:
class Game {
foo() {
self = this;
this._pads.on('click', function() {
if (self.go) { $(this).addClass('active'); }
});
}
}
Bunun yerine bir ok işlevi kullanın:
class Game {
foo() {
this._pads.on('click', () => {
if (this.go) { $(this).addClass('active'); }
});
}
}
Ve sonra $(this)
ES5 (self = this) tipi kapamaya dönüştürülür.
Traceur'ün sözcüksel bağlama için "$ (this)" i yok saymasını sağlamanın bir yolu var mı?
.on()
gerçektenthis
sizin için yararlı bir değere sahip . Banathis
göre olay hedefine atıfta bulunmak, olayı geçmek ve hedefi manuel olarak bulmaktan çok daha net . Ok işlevleriyle pek oynamadım ama anonim işlevlerle ileri geri gitmek kafa karıştırıcı olacak gibi görünüyor.