更改的手稿版本

时间:2016-07-28 08:25:20

标签: typescript typescript1.8

我有一个用typescript v.1.4“ECMA6”编写的项目,我只想使用'async',因为某些计算需要是异步的。

但是在Visual Studio 2013中将我的打字稿版本升级到1.8后,我遇到了扩展课程的大问题,我不明白为什么?

我得到的例外是:

  

如果没有'new'

,则无法调用类构造函数“XYZ”

这些类看起来像一个扩展b,b扩展c ...

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服务,可以从.ts-Files访问.js文件。像“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-File中出现了另一个错误......

  

语法错误仅限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

但为什么这些行适用于TypeScript 1.4?

1 个答案:

答案 0 :(得分:0)

经过几个小时我得到了它......

  

升级TypeScript后,重新启动Visual-Studio!   如果您使用ECMA6并且您像参数/函数一样双击类型,如ValidationRules_TimeoutItem_Calculate | SelectionRules_TimeoutItem_Calculate,您需要将解决方案选项更改回 ECMA5   新生成的类的问题相同! - &GT;回到 ECMA5 它会起作用   编译完成后,一切正常