首页 文章

Angular 2中的元素高度和宽度变化检测

提问于
浏览
12

我一直在寻找解决方案,但没有找到(只有关于 (window:resize) 的文章,但它不是我要找的) .

如何在 Angular 2 中检测元素大小的变化?

<div #myElement (sizeChanged)="callback()" />

我想使用一些 CSS 动画并检测元素的 heightwidth 更改 .

1 回答

  • 10

    问题甚至不是Angular 2问题 . 更一般地说,如何检测 window 以外的任何元素的大小变化?有一个 onresize 事件,但这仅针对 window 触发,并且没有其他明显的解决方案 .

    许多人采用这种方法的一般方法是设置一个间隔,例如100ms,并检查div的宽度和高度以检测变化 . 虽然听起来很可怕,但这是最常见的方法 .

    this answer到更一般的问题,有一个库只使用事件来执行此操作:http://marcj.github.io/css-element-queries/ . 据说,它非常好 . 你可以使用 ResizeSensor 来获得你想要的东西 .

    除非当然,你只是期望 div 在窗口时调整大小 . 然后 onresize 就是你要找的 .

相关问题