当用户更改窗口大小时,是否可能获得.displayItemCol
的宽度? 我知道可以使用引用变量在ngoninit
中获取。displayItemCol的宽度,但是在窗口大小改变期间是否可以动态地获取宽度? 我可以尝试使用ngonChanges()
,但这将检测正在进行的任何更改。
<div class="main" fxLayout="row">
<div class="displayItemsCol" fxLayout="column">
<app-applied-filter-bar></app-applied-filter-bar>
<app-search-results-list></app-search-results-list>
</div>
<div class="displayItemCol" fxLayout="column">
<router-outlet></router-outlet>
</div>
</div>
我也尝试了下面的方法,但是这给了我整个窗口的宽度。
<div (window:resize)="onResize($event) class="displayItemCol" fxLayout="column" >
@HostListener('window:resize', ['$event'])
onResize(event) {
event.target.innerWidth;
}
在模板HTML中,将#element添加到div中,然后在ts中获取元素的宽度,如下所示:
@ViewChild('element', { static: true }) element: ElementRef;
@HostListener('window:resize', ['$event'])
onResize(event) {
console.log(this.element.nativeElement.clientWidth)
}