2017-10-05 4 views
0

私はstackoverflowをすべて検索して投稿をたくさん見つけたので、重複していることは確かですが、私には友好的で、私はかなりtypescriptに新しいので。Typescript/Jquery:内部Jqueryスコープ内のクラスにアクセスする

私が現在作業しているのは、typescriptクラスです.Jqueryをクリックします。 これは通常、Jqueryアイテムを取得するために働きますが、TSでは通常これはクラス用に予約されています。

私はJqueryを使用するとこれがJqueryオブジェクトに置き換えられます。

だから私は現在で働いています:

HTML:

<a data-id="6" class="js-set-crime-option btn btn-primary">Kies</a> 

TS:

class Dealers 
{ 
    constructor() { 
     $(".js-set-crime-option").click(this.set); 
    } 

    public set() { 
     var a = $(this); 
     alert(a.data("id")); 

     debugger; 
     // i want to call test here 
    } 

    public test(id: string) { 
     alert("helooooooo" + id); 
    } 

} 

私はこのスコープでテストを呼び出すことができますどのように?

編集:私は「この」それは

var me: Dealers; 

class Dealers 
{ 
    name:string = "friend"; 

    constructor() { 
     $(".js-set-crime-option").click(this.set); 
     me = this; 
    } 

    public set() { 
     var a = $(this); 
     me.test(a.data("id")); 
    } 

    public test(id: string) { 
     alert("helooooooo" + id + this.name); 
    } 

} 
+0

"これは通常、Jqueryアイテムを取得するために動作しますが、これは通常TSクラスに予約されています。さらに、TypeScriptクラスはJavaScriptクラスです。 –

答えて

1

のに正解である場合は、自動的に正しいを維持するために脂肪の矢印表記を使用する必要があるかわからないこれを見つけたが、それはより安全ですが、あなたの提案でも動作するはずですハンドラを添付する前にこれを保存してください。

element.click(() => { this.test(id); }); 
関連する問題