网站搜索

typescript2.7 - 在 TypeScript 2.7.2 中无法实例化泛型 CustomEvent


我在 Visual Studio 2017(15.5.3)中使用 TypeScript 2.7.2 SDK。

我正在尝试创建一个继承自 CustomEvent<T> 的类,其中 T 被指定为一个接口,这样我就可以约束 detail 参数的类型(否则它将是 any)。

这是我的示例代码,可以正常编译:

export interface IFileSendingEventDetail {
    formData: FormData;
}

export class FileSendingEvent extends CustomEvent<IFileSendingEventDetail> {
    constructor(formData: FormData, bubbles: boolean = true) {
        super("file-sending", {
            detail: { formData },
            bubbles: bubbles
        });
    }
}

但是当我尝试这段代码时:

const e = new FileSendingEvent(new FormData());

我在控制台中收到此错误:

TypeError: 无法构造 'CustomEvent':请使用 'new' 操作符,此 DOM 对象构造函数不能作为函数调用。

我看不出自己做错了什么——还是 TypeScript 有 bug?