【发布时间】:2018-04-25 23:26:07
【问题描述】:
即使代码运行完美,我也有以下错误:
"TS2345: Argument of type 'Event' is not assignable to parameter of type 'KeyboardEvent'.
Property 'altKey' is missing in type 'Event'."
// In a Class
public listenTo = (window: Window) => {
['keydown', 'keyup'].forEach(eventName => {
window.addEventListener(eventName, e => {
this.handleEvent(e); // <- error here
});
});
}
public handleEvent = (event: KeyboardEvent) => {
const { key } = event;
//...
}
我尝试将事件类型定义为 KeyboardEvent,但出现以下错误:
window.addEventListener(eventName, (e:KeyboardEvent) => {
this.handleEvent(e); // <- error here
});
TS2345: Argument of type '(event: KeyboardEvent) => void' is not assignable to parameter of type 'EventListenerOrEventListenerObject'.
Type '(event: KeyboardEvent) => void' is not assignable to type 'EventListenerObject'.
Property 'handleEvent' is missing in type '(event: KeyboardEvent) => void'.
有没有办法通过或解决问题?
【问题讨论】:
标签: javascript typescript casting type-conversion