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

  • pain975

    pain975

    27 NİSAN 2008
  • Rayone GB

    Rayone GB

    14 Temmuz 2007
  • TotalSeminarsChannel

    TotalSeminar

    16 Mart 2010