2016-07-28 73 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将工作 编译后,这些工作都