我一直在使用Basarats优秀的Collections库,为0.9.0创建类型,例如:
Dictionary<ControlEventType,
Dictionary<number, (sender: IControl,
eventType: ControlEventType,
order: ControlEventOrder,
data: any) => void >>
Run Code Online (Sandbox Code Playgroud)
现在我不想每次使用它时都要完整地写这个.似乎有效的方法之一是:
export class MapEventType2Handler extends C.Dictionary<ControlEventType,
C.Dictionary<number,
(sender: IControl,
eventType: ControlEventType,
order: ControlEventOrder,
data: any) => void >> {}
Run Code Online (Sandbox Code Playgroud)
我可以写:
EH2: MapEventType2Handler = new MapEventType2Handler();
Run Code Online (Sandbox Code Playgroud)
代替:
EH: Dictionary<ControlEventType,
Dictionary<number,
(sender: IControl,
eventType: ControlEventType,
order: ControlEventOrder,
data: any) => void >>;
Run Code Online (Sandbox Code Playgroud)
有人遇到过更好的想法吗?
我也正在试验'typedeffing'各种功能签名而没有很好的结果.
在事件处理程序中,我需要确定被单击的DOM元素.我希望使用jqEvent.target.attributes ['tag'],其中jqEvent的类型为JQueryEventObject.但是'target'在lib.d.ts中定义,类型为EventTarget,它包含我可以使用的任何东西......
我错过了什么吗?
typescript ×2