2016-11-17 6 views
1

私たちはタイプコピーの特異な振る舞いを理解しようとしています。以下の2つのコード例では、jQueryオブジェクトをtypescriptで変更する必要があります。この例では、typescriptクラスがインスタンス化された後のメソッドでセレクタエンジンを使用してjQueryオブジェクトを参照しています。これは動作します:jScriptオブジェクトをコンストラクタパラメータとしてtypescriptオブジェクトに渡すことはできますか?

namespace Company.Module { 
    export class GenericService { 
     private statefulObject: JQuery; 

     public constructor() { 
     } 

     private _toggleObjectState(): void { 
      this._statefulObject.toggleClass('text-hide text-success'); 
     } 

     public SetObjectState(): void { 
      this.statefulObject = $('#statefulObject'); 
      _toggleObjectState(); 
     } 

    } 
} 

動作しないコンストラクタでjQueryオブジェクトを渡すのに対し:

namespace Company.Module { 
    export class GenericService { 
     private statefulObject: JQuery; 

     public constructor(_statefulObject: JQuery) { 
      this.statefulObject = _statefulObject; 
     } 

     private _toggleObjectState(): void { 
      this._statefulObject.toggleClass('text-hide text-success'); 
     } 

     public SetObjectState(): void { 
      _toggleObjectState(); 
     } 

    } 
} 

私たちは、このような場合は理由を理解したいと思います。

+0

最初の例はコンパイルされません。 – Paleo

+1

著者はこの問題をクローズしたいので、この質問を議論の対象外とすることにしました。 – Paleo

答えて

0

残念ながら、これは問題ではありませんでした。 DOMに動的に追加されたオブジェクトを参照していたため、コードが機能しませんでした。 typescriptコンストラクタに渡されたとき、オブジェクトは単にDOMにロードされなかったため、操作できませんでした。 モデレータはこの質問を削除してください。

関連する問題