在我的Angular2应用程序中,我收到以下错误:
app/src/main.ts(104,42): error TS2339: Property 'innerWidth' does not exist on type 'EventTarget'.
我的组件中有以下方法,编译器不喜欢我的事件对象的innerWidth
属性。
onWindowResize(event: Event):void {
if (event.target && event.target.innerWidth >= 768) {
this.showMenu = false;
}
}
我需要做些什么来预防/克服此错误?我认为if (event.target
的第一次检查可以防止这种崩溃。此错误仅在我为事件参数提供Event
的类型定义时发生。任何帮助将不胜感激。
答案 0 :(得分:3)
您可以像这样覆盖Event类:
interface MyEventTarget extends EventTarget {
innerWidth: number
}
interface MyEvent extends Event {
target: MyEventTarget;
}
然后您的代码更改为:
onWindowResize(event: MyEvent):void { <== new created class
if (event.target && event.target.innerWidth >= 768) {
this.showMenu = false;
}
}