Javascript typescript-不使用构造函数扩展类定义
我使用的库不是用TypeScript编写的,因此我必须使用定义文件 在这个定义文件中有一个没有构造函数的类(因为原始JS代码没有构造函数)。如果我试图在代码中扩展该类,则会出现以下错误: 错误:(36,2)TS2377:派生类的构造函数必须包含 “超级”电话 如果我向构造函数添加Javascript typescript-不使用构造函数扩展类定义,javascript,backbone.js,typescript,Javascript,Backbone.js,Typescript,我使用的库不是用TypeScript编写的,因此我必须使用定义文件 在这个定义文件中有一个没有构造函数的类(因为原始JS代码没有构造函数)。如果我试图在代码中扩展该类,则会出现以下错误: 错误:(36,2)TS2377:派生类的构造函数必须包含 “超级”电话 如果我向构造函数添加super(),JavaScript会抱怨: 未捕获的TypeError:\u super.call不是函数 如何修改定义文件,使此代码正常工作,并消除来自TS的第一个错误?(适用于TypeScript 1.6) 下面
super()
,JavaScript会抱怨:
未捕获的TypeError:\u super.call不是函数
如何修改定义文件,使此代码正常工作,并消除来自TS的第一个错误?(适用于TypeScript 1.6)
下面是定义文件的一个简单示例(基于: 在我的代码中,我有如下内容:
/// <reference path="libs/typescript/backbone/backbone.d.ts" />
class RosApiManager extends Backbone.Events {
constructor() {
super();
}
}
//
类RosApiManager扩展了主干.Events{
构造函数(){
超级();
}
}
主干。事件
不是类(并且不应在.d.ts文件中声明为类)。不能扩展非类的内容。有些可能会出错:
_super.call不是一个函数
如果他们错误地定义了类,比如
export class InlineIf extends React{... }
而不是
export class InlineIf extends React.Component {... }
将此添加为一个答案,希望将来有人会发现它有用…好的,那么应该如何声明它呢?
ModelBase
和Router
仍然需要以某种方式继承事件的方法
…遇到同样的问题…想知道TS中是否有什么东西允许解决此\u super.call(此);
语句,当我们确实不想调用它时…或者我们应该为此修复Backbone.d.ts文件:(
export class InlineIf extends React.Component {... }