新事件(' myEvent')不会在打字稿中编译

时间:2015-07-23 09:04:06

标签: typescript

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

我正在尝试在打字稿中创建一个自定义事件,如上例所示:

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

可悲的是,在lib.d.ts中, new for Event是无参数的:

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

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

有什么建议吗?

1 个答案:

答案 0 :(得分:2)

很可能您可能使用其特定的库文件安装了旧版本的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;
}

我不太确定,但我相信打字稿变量不像界面那样偏。您可以升级TS版本,手动更新lib.d.ts以编辑类型或创建新类型并使用它。