我正在努力更新在以下GitHub回购中找到的Paper.js打字:
github.com/clark-stevenson/paper.d.ts
Paper.js有自己的MouseEvent类MouseEvent。它没有扩展JavaScript的MouseEvent,它是一个包含相同名称的包装器。这就是整个问题。当有一个具有相同名称的类时,如何引用JavaScript的内置MouseEvent?
由于我自己从不实例化Paper.js鼠标事件,我目前的解决方法是将其重命名为PaperMouseEvent:
export class PaperMouseEvent extends Event {
constructor(type:string, event:MouseEvent, point:Point, target:Item, delta:Point)
/**
* JavaScript's mouse event
*/
event:MouseEvent;
}
有没有办法正确地做到这一点,或者这是一个常见的解决方法?
答案 0 :(得分:1)
如果我理解正确,那么您只需要这样做:
declare module "paper" {
class MouseEvent extends Event {
constructor(type:string, event:MouseEvent, point:Point, target:Item, delta:Point);
event: MouseEvent;
}
}
您可以尝试使用类型别名来保存参考"到内置MouseEvent
:
type NativeMouseEvent = MouseEvent;
declare module "paper" {
class MouseEvent extends Event {
constructor(type:string, event:MouseEvent, point:Point, target:Item, delta:Point);
event: NativeMouseEvent;
}
}