SORU
6 EKİM 2012, CUMARTESİ


'' TypeScript için bir takma ad var mı?

Bir olay işleyicisi olarak hareket eden bir yöntem tanımlanmış bir WordPress kullanmak bir olay için bir geri arama var TypeScript bir sınıf yazmak için çalıştık.

class Editor {
    textarea: JQuery;

    constructor(public id: string) {
        this.textarea = $(id);
        this.textarea.focusin(onFocusIn);
    }

    onFocusIn(e: JQueryEventObject) {
        var height = this.textarea.css('height'); // <-- This is not good.
    }
}

OnFocusİn olay işleyicisi içinde, TypeScript 'bu' gibi olmak 'bu' sınıfın dışında. Ancak, DV bu başvuru geçersiz kılar ve DOM nesnesi olayı ile ilişkili olarak ayarlar.

Bir alternatif bu durumda TypeScript gizli _this bir diğer adı ile kapanması bir tür oluşturur olay işleyicisi, yapıcı içinde bir lambda tanımlamaktır.

class Editor {
    textarea: JQuery;

    constructor(public id: string) {
        this.textarea = $(id);
        this.textarea.focusin((e) => {
            var height = this.textarea.css('height'); // <-- This is good.
        });
    }
}

Benim sorum, TypeScript kullanarak, bu bir WordPress kullanmak davranış üstesinden gelmek için bir yöntem tabanlı bir olay işleyicisi içinde bu referans erişim için başka bir yol var mı?

CEVAP
6 EKİM 2012, CUMARTESİ


this kapsamı ok işlev sözdizimi () => { ... } - burada kullanarak bir örnek TypeScript For JavaScript Programmers alınan korunur.

var ScopeExample = { 
  text: "Text from outer function", 
  run: function() { 
    setTimeout( () => { 
      alert(this.text); 
    }, 1000); 
  } 
};

this.text ok işlev sözdizimi korur çünkü Text from outer function veren "sözlü kapsam".

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • BigBoyTV

    BigBoyTV

    25 EYLÜL 2013
  • Justin Case

    Justin Case

    3 EKİM 2011
  • WHZGUD2

    WHZGUD2

    21 EYLÜL 2011