TypeScript代码在路由器更改请求后不断出现

问题描述 投票:0回答:1

我有一个Angular项目,其中一个页面包含:

window.addEventListener('resize', () => {
    let button: HTMLElement = document.querySelector('button#changeDir') as HTMLElement
    ...
})

[当我尝试使用@angular/router更改目录并调整窗口大小时,出现错误

ERROR TypeError: Cannot read property 'querySelector' of null

我试图做一个if语句

if (this.router.url == "\") ...

但是,如果您使用@angular/router返回页面而不刷新,只会增加工作量,导致页面动作变慢。有没有办法忽略目录更改之后/更改过程中制定的代码?

angular typescript angular-router
1个回答
0
投票

经过研究后,我发现addEventListener的替代方案在用@angular/router进行路线变更后将无法实施:

  1. 在TypeScript中创建将在窗口调整大小时执行的函数:
onWindowResizeFun() {
    let button: HTMLElement = document.querySelector('button#changeDir') as HTMLElement
    ...
}
  1. 添加到HTML元素之一(最好是最父元素):
<section (window:resize)="onWindowResizeFun()">
© www.soinside.com 2019 - 2024. All rights reserved.