首页
学习
活动
专区
工具
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应用程序。

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

相关·内容

解决 WPF 嵌套窗口改变窗口大小时候闪烁问题

因为 Win32 窗口句柄是可以跨进程传递,所以可以用来实现跨进程 UI。不过,本文不会谈论跨进程 UI 具体实现,只会提及其实现中一个重要缓解,使用窗口方式。...你有可能在使用窗口之后,发现拖拽改变窗口大小时候,窗口内容不断闪烁。如果你也遇到了这样问题,那么正好可以阅读本文来解决。...---- 问题 你可以看一下下面的这张动图,感受一下窗口闪烁: 实际上拖动窗口时候,是一直都在闪,只是每次闪烁都非常快,截取 gif 时候截不到。...后来使用 CreateWindowEx 创建了一个纯 Win32 窗口,这种闪烁现象更容易被截图: 解决 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19...,同时有更好阅读体验。

69140

Android之布局详解

android:layout_below 元素下方 android:layout_above 元素上方 android:layout_toLeftOf 元素左边 android:layout_toRightOf...注意:当一个控件去引用另一个控件id,该控件一定要定义引用控件后面,不然会出现找不到id情况。...(API21加入) 行权重 android:layout_gravity 作用 center 不改变元素大小,仅居中 center_horizontal 不改变大小,水平居中 center_vertical...不改变大小,垂直居中 top 不改变大小,置于顶部 left 不改变大小,置于左边 bottom 不改变大小,置于底部 right 不改变大小,置于右边 start 不改变大小,根据系统语言,置于开始位置...垂直方向上裁剪元素,仅当元素大小超过格子空间 clip_horizontal 水平方向上裁剪元素,仅当元素大小超过格子空间 注意 使用layout_columnSpan 、layout_rowSpan

2K10
  • 每个高级前端工程师都应该知道前端布局

    2.自适应 自适应是一套代码,无论屏幕尺寸如何变化,改变只是页面的元素尺寸,而不会出现三栏变两栏表格变化。以前,领导和设计总让我修改页面,说是自适应窗口变化。结果要求把三栏改成两栏。...:4:3, 5:3 智能手机屏幕尺寸和分辨率列表 4.常见布局 4.1 百分比布局 当改变窗口高度和宽度,通过给出 height, width, padding, border, 和 margin...如果为元素顶部和底部设置了百分比,它将相对于父元素高度,并直接进行非静态定位(默认定位)。同样,如果为元素左侧和右侧设置了百分比,它将与父元素宽度直接非静态定位(默认定位)相对应。...,中间一列宽度则根据浏览器窗口大小自适应调整。...4.7 圣杯布局 与双飞翼布局一样,左右两栏宽度是恒定,中间一栏宽度根据浏览器窗口大小自适应,但它更加完整。

    22320

    如何完成响应式布局,有几种方法?看这个就够了

    缺点 计算困难 需要计算相对应百分比值,最主要是百分比往往只用于设置狂高, 设置其他元素,根据对象百分比不同,比如我们设置内外边距时候,是根据 父级宽度设置,更有像border-radius...优点 与百分比布局很相似,但是更好用,不同属性vh,vw效果都是一样,都是当前窗口宽度高度一份儿,可以直接设置全满高度(100vh),这是百分比做不到,也可以用于设置字体大小。                 ...,, 父元素设置为32px,元素设置为1em,那么结果就是32px(父元素修改成了32px), 宽高设置也是如此,但还是有些属性不同,比如内边距  设置成1em,他是根据最近字体大小为依据,他不用必须是父级...什么意思呢 比如  父元素为2em(32px),元素又设置了字体大小为1em(16px),元素边距设置成1em 边距就是16px,元素如果设置成20px,元素边距1em,就是20px,他是根据最近设置字体大小为依据...根元素字体大小改变,想要完成响应式布局,我们只需要让根元素字体大小变成响应式跟随窗口大小改变就好。

    1.1K30

    javaScript基础最全 最精美 不好打我好吧

    HTML中如何使⽤JavaScript(三种) 1 使⽤ 标签 ? 2 外部 JavaScript: ? 3内联JavaScript处理器: ?...事件 事件三要素: 事件源 事件 事件驱动程序 常用事件: onabort 图像加载被中断。 onblur 元素失去焦点。 onchange 域内容被改变。...onclick 当用户点击某个对象时调用事件句柄。 ondblclick 当用户双击某个对象时调用事件句柄。 onerror 加载文档或图像发生错误。...onresize 窗口或框架被重新调整大小。 onselect 文本被选中。 onsubmit 确认按钮被点击。 onunload 用户退出页面。...新窗口.moveTo(5,5) 移动到指定位置 新窗口.moveBy(200,200) 相对新窗口移动指定像素 新窗口.resizeTo() 把窗口大小调整到指定宽度和高度。

    1.3K30

    网页布局几种方式有哪些_做网页建议用哪种布局

    缺点:因为宽度使用%百分比定义,但是高度和文字大小等大都是用px来固定,所以大屏幕下显示效果会变成有些页面元素宽度被拉很长,但是高度、文字大小还是和原来一样,显示非常不协调 栅格化布局   将网页宽度人为划分成均等长度...为了兼容 IE,采用是浮动方式来实现栅格系统: 即每一个栅格都是用左浮动和百分比来进行排版,当窗口宽度改变,对应改变 container 容器宽度,对应栅格宽度自然也跟着改变: bootstrap4...改变屏幕分辨率可以切换调用相应布局(页面元素位置发生改变大小不变),但在每个静态布局中,页面元素不随窗口大小调整发生变化。可以把自适应布局看作是静态布局一个系列。   ...在这种布局方式下,当视口大小低于设置最小视口,界面会出现显示不全,溢出,并出现滚动条。而且当需求改变,可能会改动多套代码。   ...同自适应布局一样,书写 CSS 样式元素宽度不能使用绝对宽度,而要使用相对大小。   Media Queries 是响应式设计核心,它根据条件告诉浏览器如何为指定视图宽度渲染页面。

    3K20

    web前端必备英语词汇都在这儿了,客官你了解多少?

    close 关闭当前页面 confirm 输入框 clientWidth 获取元素宽度 clientHeight 获取元素高度 childNodes 获取所有节点 children 返回元素 cloneNode...窗口滚动事件 onresize 窗口大小监听事件 onload 图片加载事件 offsetLeft 获取元素距离左侧距离 offsetTop 获取元素距离顶部距离 offsetWidth 获取元素自身宽度...offsetHeigh 获取元素自身高度 onload 在装载 onclick 点击 ondblclick 双击 onmouseover 鼠标进入时 onmouseout 鼠标离开 onmousemove...鼠标移动 onmousedown 鼠标按下 onmouseup 鼠标抬起 onkeydown 在按键按下 onkeyup在按键抬起 onkeypress 在按键 onsubmit 提交...onchange 改变 onfocus 获得焦点 onblur 失去焦点 onscroll 窗口滚动事件 onresize 窗口大小监听事件 out 减速到0缓动 onStart 开始事件

    3K20

    Android layout属性大全

    布局改变是否有动画效果            android:clipChildren定义子布局是否一定要在限定区域内            android:clipToPadding定义布局间是否有间距...)保存View数据            android:filterTouchesWhenObscured所在窗口被其它可见窗口遮住,是否过滤触摸事件            android:keepScreenOn...android:layout_above 元素上方       android:layout_toLeftOf 元素左边       android:layout_toRightOf 元素右边...android:layout_width定义本元素宽度         android:layout_height定义本元素高度 android:layout_margin 本元素离上下左右间距离...android:scrollbarSize设置滚动调大小         android:fadingEdge 设置拉滚动条 ,边框渐变放向         android:drawingCacheQuality

    2.1K90

    react-grid-layout 之核心代码分析与实践

    width = entries[0].contentRect.width this.setState({width}) } }) 现在我们知道了如何获取元素宽度,当我们缩放视图窗口...,需要判断目前视图窗口宽度处于哪个断点范围内,这时候我们用到方法是 onWidthChange,该方法会监听每一次宽度变化,根据新窗口宽度和断点信息,重新计算网格布局,并更新组件状态。...= 所有组件 child 实际占大小 + 组件 child 之间边距大小 export function calcGridItemWHPx( // 组件 child 宽或高 w/h...实际使用拖拽功能,会有当前拖动元素阴影站位,如下图11号元素如何实现拖拽过程中阴影?...我们使用 GRL 渲染元素可以添加拖动类名例如.droppable-element,并给类目设置样式 .droppable-element { ...

    1.8K20

    Window对象

    frames: 返回一个类数组对象,列出了当前窗口所有直接窗口。 fullScreen: 这个属性表明了窗口是否处于全屏模式下。 history: 提供了操作浏览器会话历史接口。...resizeTo(): 把open创建窗口大小调整到指定宽度和高度。 scroll(): 滚动窗口至文档中特定位置。 scrollBy(): 在窗口中按指定偏移量滚动文档。...onfocus: 窗口获得焦点触发。 onresize: 窗口大小发生改变触发。 onscroll: 窗口发生滚动触发。 onmessage: 窗口对象接收消息事件触发。...onchange: 窗口内表单元素内容改变触发。 oninput: 窗口内表单元素获取用户输入时触发。 onreset: 窗口内表单重置触发。...打印相关 onbeforeprint: 该事件页面即将开始打印触发 onafterprint: 该事件页面已经开始打印或者打印窗口已经关闭触发。

    2.4K20

    前端人员该怎么面试 经典Angular面试题有哪些

    Angular2中,组件中发生任何改变总是从当前组件传播到其所有组件中。如果一个组件更改需要反映到其父组件层次结构中,我们可以通过使用事件发射器api来发出事件。...简而言之,EventEmitter是@ angular/core模块中定义类,由组件和指令使用,用来发出自定义事件。 3、如何优化Angular 2应用程序来获得更好性能?...优化取决于应用程序类型和大小以及许多其他因素。一般来说,优化Angular 2应用程序时要考虑以下几点: 1)考虑AOT编译。...6)如果应用程序较大,我会考虑延迟加载而不是完全捆绑应用程序。 4、什么是Shadow DOM?它如何帮助Angular 2更好地执行?...Shadow DOM通过提供了更好关注分离,通过其它HTML DOM元素实现了更少样式与脚本冲突。

    4.1K80

    AngularJS 中使用Swiper制作滚动图不能滑动

    -- ============== --> 测试发现,手动复制n个循环部分,则可以滑动n个块;手动调节窗口大小,使页面文档发生改变(动态响应)后,可以正常滑动。...查阅SwiperAPI发现,有这样两个参数:observer和observeParents,前者启动动态检查器,当改变swiper样式(例如隐藏/显示)或者修改swiper元素,自动初始化...后者原理和前者一样,只是将observe应用于Swiper元素。两者默认值都为false。 所以原来swiper初始化代码中加上这两行即可。...paginationClickable: true, longSwipesRatio: 0.3, touchRatio:1, observer:true,//修改swiper自己或元素...,自动初始化swiper observeParents:true,//修改swiper元素,自动初始化swiper })

    1.8K50

    HTML、CSS、JavaScript学习总结

    所有的框架标签要放在一个HTML文档中,HTML页面的文档体标签被框架集标签所取代,然后通过窗口标签定义每一个窗口窗口页面属性...当你改变这个样式表文件,所有页面的样式都随之而改变制作大量相同样式页面的网站,非常有用,不仅减少了重复工作量,而且有利于以后修改、编辑,浏览也减少了重复下载代码。...• Ø 长度也可使用相对值中百分比。 • 对于每个层设置层大小时,其中只能设置宽度和高度中一个值,另一个值则自动获得。如果两个值都设置了,则还要同时设置层溢出属性overflow。...Ø Ø hidden表示该层被隐藏,是不可见。 Ø inherit表示层或元素会继承父层或父元素可见性,父级元素可见则元素也可见。...• 浏览器窗口中,如果文本框获得焦点,则会调用 onFocus 事件处理程序 • 当对象失去焦点或光标退出对象,将执行 onBlur 事件处理程序 • 当修改文本框内容或改写下拉列表框选项

    3.1K20

    Android中文API——ScrollView

    ScrollView是一种FrameLayout,意味需要在其上放置有自己滚动内容元素元素可以是一个复杂对象布局管理器。...通常用元素是垂直方向LinearLayout,显示最上层垂直方向可以让用户滚动箭头。...public void requestChildFocus (View child, View focused) 当父视图一个视图获得焦点,调用此方法。... (Rect rect) 计算X方向滚动总合,以便在屏幕上显示视图完整矩形(或者,若矩形宽度超过屏幕宽度,至少要填满第一个屏幕大小)。...参数 w     视图当前宽度 h     视图当前高度 oldw       视图改变宽度 oldh       视图改变高度   六、补充 文章精选 Android ApiDemos

    4.6K30

    响应式布局实现

    响应式布局实现 响应式布局指的是同一页面不同屏幕尺寸或者不同设备下有不同布局,能够大屏设备以及小屏设备获得更好浏览体验,简单来说就是页面适应终端而无需为每个终端制作单独页面。...width: 定义输出设备中页面可见区域宽度。 单位 百分比单位 当度量单位设置为百分比,即可使浏览器组件宽高随着浏览器大小相应变化。...元素top和bottom如果设置百分比,则相对于直接非static定位元素高度,同样子元素left和right如果设置百分比,则相对于直接非static定位父元素宽度。...rem单位 rem单位都是相对于根元素htmlfont-size来决定大小,根元素font-size相当于提供了一个基准,当页面的size发生变化时,只需要改变font-size值,那么以rem...因此,如果通过rem来实现响应式布局,只需要根据视图容器大小,动态改变元素font-size即可。 vh vw vmin vmax vh: 相对于视窗高度,1vh等于视窗高度1%。

    1.9K30

    前端学习资料整理

    我们大家都知道,当按百分比设定一个元素宽度,它是相对于父容器宽度计算,但是,对于一些表示竖向距离属性,例如padding-top,padding-bottom,margin-top,margin-bottom...当我们修改原型,与之相关对象也会继承这一改变。...当解释器寻找引用值,会首先检索其 栈中地址,取得地址后从堆中获得实体 Javascript如何实现继承?...用户可以改变window.location(用另一个文档取代当前文档),但却不能改变document.location(因为这是当前显示文档位置)   name 窗口打开,赋予该窗口名字   opener...提供了一些常用界面元素,诸如对话框、拖动行为、改变大小行为等等 jquery 中如何将数组转化为json字符串,然后再转化回来?

    3.5K20

    测试开发面试题

    实现功能有: 1、当前页面上选择符合查找条件对象 2、打开网址, 回退,前进,刷新网页 3、获取、改变浏览器窗口大小,关闭浏览器,截屏 4、获取、设置cookies driver.get_cookies...() 2、webelement webelement对象就是对应某个页面元素遥控器,通过它可以操作某个元素相关东西: 1、在当前web元素所有元素里面符合查找条件对象 2、操作该web元素,比如...import ActionChains ActionChains(driver).move_to_element(ele).perform() 8、获取窗口大小改变窗口大小 可以使用set_window_size...这个方法,参数传递宽度和高度,单位是像素 driver.maximize_window():设置最大窗口 [ˈmæksɪmaɪz] 比如,改变窗口宽度: size = driver.get_window_size...,最后是内建变量 即: L ----> E ----> G ----> B 默认情况下,变量名赋值会创建或者改变当前作用域变量

    1.2K10

    Web 性能优化-页面重绘和回流(重排)

    当 render tree 中一些元素需要更新属性,而这些属性只是影响元素外观,风格,而不会影响布局,比如 background-color,这个过程叫做重绘(repaint) 回流时候,浏览器会使...重绘何时发生 当一个元素外观可见性 visibility 发生改变时候,但是不影响布局。类似的例子包括:outline, visibility, background color。...调整窗口大小改变字体,比如修改网页默认字体。 增加或者移除样式表。 内容变化,比如文本改变或者图片大小改变而引起计算值宽度和高度改变。...脚本操作 DOM,增加删除或者修改 DOM 节点,元素尺寸改变——边距、填充、边框、宽度和高度。 计算 offsetWidth 和 offsetHeight 属性。 设置 style 属性值。...当请求把一个 DocumentFragment 节点插入文档树,插入不是 DocumentFragment 自身,而是它所有子孙节点。

    1.2K20

    如何使用纯 CSS 制作四连珠游戏

    如上所述,计数器只能显示 ::before 和 ::after 伪元素中。这是显而易见,但它们如何影响其他元素呢?至少计数器值可以改变元素宽度。不同数有不同宽度。...更好方式是使用 letter-spacing,因为它只一个维度上改变大小。出乎意料是,即使是一个字母也有字母间距(字母后面呈现),两个字母就有两个字母间距。...我需要容器宽度初始大小(=w)与至少两倍以上大小(>=2w)之间交替变换,以便能够完全隐藏和显示黄色按钮。...但是,我注意到伪元素宽度改变了其父元素宽度本例中父元素是 radio 按钮容器。 如果你在想,难道不能用阿拉伯数字来解决吗?...选择父节点是不可行,但是选择节点是可行如何用选择器及其组合方式检测一行中相连?

    2K20

    测试思想-系统测试 界面测试总结

    分析:不管做什么,都讲究投入和产出比,即最少投入获得最大产出,不管做什么,我们都希望把复杂事情简单化,同样做测试也一样。 如何做到呢?...不可用元素[如工具栏按钮]是否随当前操作加亮或变灰 23. 光标、处理指示器和识别指针是否随操作恰当地改变? 3.合理性 1....显示多个窗口,当前活动窗口名称是否被适当地表示 4.美观与协调性 1. 窗体长宽接近黄金点比例,切忌长宽比例失调、或宽度超过长度。 2....相同元素[如按钮]大小基本相近,忌用太长名称,免得占用过多界面位置。 4....界面元素[如按钮,字体(通常使用字体中宋体9-12较为美观)]和主窗体大小要与界面的大小和空间要协调[如 放置完控件后界面不应有很大空缺位置]。 5.

    2.1K20
    领券