当我调整窗口大小时。下面的事件未检测到窗口大小调整,而不是每次都显示此错误
@HostListener('window:resize', ['$event'])
onResize(event) {
this.innerWidth = window.innerWidth;
}
错误:
GuidanceReportComponent_Host.ngfactory.js? [sm]:1 ERROR TypeError: jit_nodeValue_2(...).grElementList is not a function
at Object.eval [as handleEvent] (GuidanceReportComponent_Host.ngfactory.js? [sm]:1)
at handleEvent (core.js:23107)
at callWithDebugContext (core.js:24177)
at Object.debugHandleEvent [as handleEvent] (core.js:23904)
at dispatchEvent (core.js:20556)
at core.js:21003
at platform-browser.js:993
at ZoneDelegate../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask (zone.js:423)
at Object.onInvokeTask (core.js:17290)
at ZoneDelegate../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask (zone.js:422)
答案 0 :(得分:1)
通过使用 Host Listener 装饰器,您可以指定Angular来侦听作为参数传递的窗口调整大小事件($ event)。 当您编写事件处理程序onResize(event)时,您实际上传递的是由angular记录的事件。因此,代码使您出错。以下代码应该可以正常工作。
@HostListener('window:resize', ['$event'])
onResize(event)
{
this.innerWidth = event.target.innerWidth;
}