ES6 ok işlevlerini kullanarak lexical this
bağlamanız harika. ES5 dönüştürülür alır
class Game {
foo() {
this._pads.on('click',() => {
if (this.go) { $(this).addClass('active'); }
});
}
}
Sonra $(this)
: yerine bir ok işlevinin kullanılması
class Game {
foo() {
self = this;
this._pads.on('click', function() {
if (self.go) { $(this).addClass('active'); }
});
}
}
:
Ancak, bağlayıcı tipik jQuery tıklama ile bunu kullanarak bir an önce bir sorun koştum (self = this) tipi kapanış.
Traceur'un sözdizimi için "$ (this)" ifadesini görmezden gelmesinin bir yolu var mı?
:
olarak düzeltilmesi Could:
Ancak, başka bir durum var . Eğer değilse, belki de bilmeniz gereken başka şeyleri açıklayabilir misiniz? –
bu, bir ok işlevini kullanmamanın mükemmel bir örneğidir çünkü '.on()' gerçekten de sizin için bu “değeri” vardır. Bana göre, olay hedefine atıfta bulunmaktan ve hedefi manuel olarak bulmaktan ziyade olay hedefine atıfta bulunmak “daha iyidir”. Ok işlevleriyle fazla oynamadık ama anonim işlevler ile geri ve ileri gitmek için kafa karıştırıcı gibi görünüyor. – robisrob