typescript - 新事件 ('myEvent' )无法在 typescript 中编译

标签 typescript

https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Creating_and_triggering_events

我正在尝试在 typescript 中创建自定义事件,如上面的示例:

var ev: Event = new Event('myEvent');

遗憾的是,在 lib.d.ts 中,Event 的 new 是无参数的:

declare var Event: {
    prototype: Event;
    new(): Event; // NO PARAMETERS!
    CAPTURING_PHASE: number;
    AT_TARGET: number;
    BUBBLING_PHASE: number;
}

因此带有字符串参数(事件名称)的构造函数无法编译。

有什么建议吗?

最佳答案

您很可能安装了旧版本的 typescript 及其特定的库文件。 Event is this way的定义.

declare var Event: {
    prototype: Event;
    new(type: string, eventInitDict?: EventInit): Event;
    AT_TARGET: number;
    BUBBLING_PHASE: number;
    CAPTURING_PHASE: number;
}

我不太确定,但我相信 typescript 变量不是与接口(interface)不同的部分。您可以升级 TS 版本,手动更新 lib.d.ts 来编辑类型或创建新类型并使用它。

关于typescript - 新事件 ('myEvent' )无法在 typescript 中编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31582800/

相关文章:

node.js - tsconfig 的路径参数和 ESLint

javascript - 异步等待代码与 forEach 的运行方式不同

reactjs - 如何使可选的对等依赖项真正可选

javascript - NestJS 中用于键值对对象的 ValidationPipe

javascript - 将鼠标事件冒泡到 Chart.js 的父 Canvas

javascript - codelyzer 和 tslint 有什么区别?

javascript - Angular 5 - 在带有管道的选择标签中使用过滤器

javascript - 有没有一种优雅的方式使用 TypeORM 在 OneToMany 关系数组中查找一条记录并将其分配给实体中的另一个字段?

javascript - 使用 Typescript 前端应用程序加载外部库

angular - RXJS 5 .subscribe() 没有参数