javascript - Angular 窗口调整大小事件

标签 javascript angular

我想根据窗口调整大小事件(加载时和动态)执行一些任务。

目前我的 DOM 如下:

<div id="Harbour">
    <div id="Port" (window:resize)="onResize($event)" >
        <router-outlet></router-outlet>
    </div>
</div>

事件正确触发

export class AppComponent {
    onResize(event) {
        console.log(event);
    }
}

如何从这个事件对象中获取宽度和高度?

谢谢。

最佳答案

<div (window:resize)="onResize($event)"
onResize(event) {
  event.target.innerWidth;
}

或使用 HostListener decorator :

@HostListener('window:resize', ['$event'])
onResize(event) {
  event.target.innerWidth;
}

支持的全局目标是 windowdocumentbody

直到 https://github.com/angular/angular/issues/13248在 Angular 中实现,命令式订阅 DOM 事件并使用 RXJS 减少事件数量会更好地提高性能,如其他一些答案所示。

关于javascript - Angular 窗口调整大小事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35527456/

相关文章:

javascript - Jssor Slider - 指向特定幻灯片的文本超链接?

javascript - 如何在 javascript 文件中使用自定义 xml 实体

javascript - 如何强制 JS 做数学运算而不是将两个字符串放在一起

javascript - Angular 为什么星号(*)

javascript - react OnClick 项目不工作

javascript - 如何修复未捕获的类型错误对象不是函数

angular - Angular 2 中的多个模块

javascript - 永远不会调用 Observable.forkJoin 的订阅

javascript - HttpClient 中的 Angular 变化检测

Angular 2 错误 : No provider for Http in Karma-Jasmine Test