2016-11-17 88 views
1

我們試圖找出打字稿的特殊行爲。在以下兩個代碼示例中,jQuery對象應該通過打字稿進行更改。在工作正常的例子中,我們在實例化了typescript類後,通過在方法中使用選擇器引擎來引用jQuery對象。這工作:是否有可能將jQuery對象作爲構造函數參數傳遞給打字稿對象?

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中,因此無法操作。 版主請隨時刪除此問題。

相關問題