首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Angular 9-如何在窗口大小改变时获得子元素的宽度?

在Angular 9中,可以通过使用@HostListener装饰器和ElementRef来监听窗口大小改变事件,并获取子元素的宽度。

首先,需要在组件的构造函数中注入ElementRef,以便在组件中使用它:

代码语言:txt
复制
import { Component, ElementRef } from '@angular/core';

@Component({
  selector: 'app-your-component',
  template: `
    <div #childElement></div>
  `
})
export class YourComponent {
  constructor(private elementRef: ElementRef) {}

  // 监听窗口大小改变事件
  @HostListener('window:resize')
  onWindowResize() {
    // 获取子元素的宽度
    const childElementWidth = this.elementRef.nativeElement.querySelector('#childElement').offsetWidth;
    console.log('子元素宽度:', childElementWidth);
  }
}

在模板中,使用#childElement来标记子元素,以便在组件中获取它的引用。

然后,在组件中使用@HostListener装饰器来监听窗口大小改变事件。当窗口大小改变时,onWindowResize方法会被调用。

onWindowResize方法中,通过this.elementRef.nativeElement.querySelector('#childElement').offsetWidth来获取子元素的宽度。可以根据实际情况修改选择器来获取特定的子元素。

最后,可以在控制台中打印子元素的宽度,或者根据需要进行其他操作。

请注意,以上代码中没有提及具体的腾讯云产品,因为Angular是一个开源框架,与云计算品牌商无关。但是,你可以根据实际需求选择适合的腾讯云产品来部署和托管你的Angular应用程序。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

JS获取浏览器窗口大小 获取屏幕,浏览器,网页高度宽度(转)

网页可见区域宽:document.body.clientWidth  网页可见区域高:document.body.clientHeight  网页可见区域宽:document.body.offsetWidth (包括边线的宽)  网页可见区域高:document.body.offsetHeight (包括边线的宽)  网页正文全文宽:document.body.scrollWidth  网页正文全文高:document.body.scrollHeight  网页被卷去的高:document.body.scrollTop  网页被卷去的左:document.body.scrollLeft  网页正文部分上:window.screenTop  网页正文部分左:window.screenLeft  屏幕分辨率的高:window.screen.height  屏幕分辨率的宽:window.screen.width  屏幕可用工作区高度:window.screen.availHeight  屏幕可用工作区宽度:window.screen.availWidth  HTML精确定位:scrollLeft,scrollWidth,clientWidth,offsetWidth  scrollHeight: 获取对象的滚动高度。  scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离  scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离  scrollWidth:获取对象的滚动宽度  offsetHeight:获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的高度  offsetLeft:获取对象相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置  offsetTop:获取对象相对于版面或由 offsetTop 属性指定的父坐标的计算顶端位置  event.clientX 相对文档的水平座标  event.clientY 相对文档的垂直座标  event.offsetX 相对容器的水平坐标  event.offsetY 相对容器的垂直坐标  document.documentElement.scrollTop 垂直方向滚动的值  event.clientX+document.documentElement.scrollTop 相对文档的水平座标+垂直方向滚动的量  IE,FireFox 差异如下:  IE6.0、FF1.06+:  clientWidth = width + padding  clientHeight = height + padding  offsetWidth = width + padding + border  offsetHeight = height + padding + border  IE5.0/5.5:  clientWidth = width - border  clientHeight = height - border  offsetWidth = width  offsetHeight = height  (需要提一下:CSS中的margin属性,与clientWidth、offsetWidth、clientHeight、offsetHeight均无关)

01
领券