TypeScript:指定导出类的静态部分的接口?
我尝试使用手册“”部分的技巧为类的静态端(即函数)指定接口:TypeScript:指定导出类的静态部分的接口?,typescript,Typescript,我尝试使用手册“”部分的技巧为类的静态端(即函数)指定接口: export interface StaticInterface { info: string; } class _X { static info = 'something'; ... } export var X: StaticInterface = _X; 但是当我试图在另一个文件中扩展module.X时,编译器说: error TS2305: Module '"..."' has no exported
export interface StaticInterface {
info: string;
}
class _X {
static info = 'something';
...
}
export var X: StaticInterface = _X;
但是当我试图在另一个文件中扩展module.X时,编译器说:
error TS2305: Module '"..."' has no exported member 'X'.
下面是一个基于TypeScript手册的工作示例:
module Example {
export interface ClockStatic {
new (hour: number, minute: number);
}
class Clock {
currentTime: Date;
constructor(h: number, m: number) { }
}
export var cs: ClockStatic = Clock;
}
var newClock = new Example.cs(7, 30);
导出接口以及类正确实现接口非常重要。您能分享一个更完整的代码示例吗,这样我就可以看到您在尝试做什么了?您好,关键似乎是接口中的构造函数定义。但是,我想使用的接口也可以由普通实例实现,所以这实际上不起作用。新错误是
无法将“new”与类型缺少调用或构造签名的表达式一起使用。
您可能希望将实例接口和静态接口分开。例如,您可能希望它像jQuery一样工作,其中JQueryStatic接口返回一个实现jQuery接口的实例。那就行了。谢谢