2016-07-28 116 views
2

我有一個項目用typScript v.1.4「ECMA6」編寫,我想用'異步'只是因爲一些計算需要異步。更改打字稿版本

但是我在Visual Studio 2013中將打字稿版本升級到1.8後,出現了擴展類的大問題,我不知道爲什麼?

的例外,我得到的是:

類的構造函數 「XYZ」 沒有 '新'

的類不能被調用看起來像一個擴展B,B延長ç...

class XavObject { 
    constructor() { } 
} 

class XavWidget extends XavObject { 
    constructor(control: JQuery, name?: string, id?: number) { 
     super(); 
    } 
} 

class Widget_ConstructionKitContainer extends XavWidget { 
    constructor(control: JQuery, controlName: string) { 
     super(control, controlName, 1); // ---> here throws the exception 
    } 
} 

爲什麼會發生此異常,我該如何解決它?

編輯: 我儘量給更多信息...

我用C#編寫至極web服務,使.js文件,文件從.TS-文件訪問。喜歡的東西「http://localhost:8080/DLLName/XavObject.js

從而使HTML看起來像:

<script src="XavObject.js"></script> 
<script src="XavWidget.js"></script> 
<script src="Widget_ConstructionKitContainer.js"></script> 


<script> 
     xavManager.jQuery(document).ready(function() { 
      var constructionKitContainer = 
      new Widget_ConstructionKitContainer(
      xavManager.jQuery('#ConstructionKitContainer'), 
      "ConstructionKitContainer", 

      xavManager.jQuery('#regionSelector'), 
      xavManager.jQuery('#regionConfigurator'), 
      xavManager.jQuery('#regionContainer'), 
      xavManager.jQuery('#Preview'), 
      xavManager.jQuery('#ThreeDContainer'), 
      xavManager.jQuery('#MainThreeD'), 
      xavManager.jQuery('#NavThreeD'), 

      [xavManager.jQuery('#ModelTypAuswahl'), 
      xavManager.jQuery('#ModelformAuswahl'), 
      xavManager.jQuery('#WandArtikelAuswahl'), 
      xavManager.jQuery('#EbeneAuswahl'), 
      xavManager.jQuery('#ElementAuswahl'), 
      xavManager.jQuery('#MaterialAuswahl'), 
      xavManager.jQuery('#SetArtikelAuswahl'), 
      xavManager.jQuery('#GriffArtikelAuswahl')], 
      constanten 
     ); 
     }); 
</script> 

我調用頁面後,最後執行的腳本,並拋出異常。

The Structure of the Project looks like:

所以這三個類是在三個文件,並在同libori他們兩個,另一個在另一個。

編輯第2部分:

後,我已經重新啓動我的電腦此錯誤信息消失...... 但是出現在一些JS-文件的另一個錯誤....

語法錯誤ONLY在JS-FILE 他不能編譯一個文件

class SelectionRules extends ValidationRules { 

    protected _getNewTimedOutObject():   ValidationRules_TimeoutItem_Calculate|SelectionRules_TimeoutItem_Calculate { 
     return new SelectionRules_TimeoutItem_Calculate(); 
    } 
} 

class SelectionRules_TimeoutItem_Calculate extends  ValidationRules_TimeoutItem_Calculate { 
    public liElement: HTMLElement; 
} 

class ValidationRules_TimeoutItem_Calculate { 
    public Timeout: number; 
    public Setting: Widget_ConfiguratorBase_Object_Setting; 
    public SearchString: string; 
    public ErrorText: string; 
    public Value: string = ""; 
    public DataElement: Widget_Article_Setting; 
    public ContainerEntryIndex: number; 
} 

是因爲這些部分? ValidationRules_TimeoutItem_Calculate | SelectionRules_TimeoutItem_Calculate

但爲什麼這些線與打字稿1.4工作?

+0

也許錯誤是別的地方,但我不明白爲什麼會出現錯誤.... 的另一個問題是:爲什麼這個錯誤是在我改變版本後出現的? 隨着1.4一切都很好.... – Cogeck

+0

這是一個彙編錯誤?我認爲你應該發佈更多的代碼,你發佈的代碼正在工作並編譯在打字遊戲中。唯一讓我想到的是,你有一個'export'的問題,並且你的類在已定義的位置以外不再可用 – iberbeu

+0

我希望編輯能夠幫助 – Cogeck

回答

0

後噸小時我得到它....

後您升級打字稿,重啓視覺工作室! 如果您有ECMA6工作,你鍵入的雙像像ValidationRules_TimeoutItem_Calculate參數/功能| SelectionRules_TimeoutItem_Calculate您需要更改該解決方案的選項回ECMA5 同樣的問題,用新生成的類! - >回ECMA5將工作 編譯後,這些工作都