计算/获取隐藏的角度div宽度



在Angular中,我有一个隐藏的div应该在事件上可见。
事件触发相应的方法。目前为止,一切都好。
但是我需要在显示之前计算div的位置。我使用以下代码来获取div的边界并计算实际位置,但是div的宽度为零,因为它是隐藏的。

EventTriggerMethod(myDiv){
console.log(myDiv.getBoundingClientRect().width);
//OR
console.log(window.getComputedStyle(myDiv).width);
//Both return 0 when div is hidden.
}

如何在div 不可见的情况下获取它的实际宽度?

元素必须是可见的,并且没有display:none才能计算其大小。我看到的解决此问题的两种方法是:

1(将组件放在屏幕外并计算尺寸。 2(关闭display:none,计算大小,然后重新打开display:none

只要您在相同的函数中执行#2,它就永远不会显示,因为浏览器的重绘功能直到您的函数完成后才会发生。由于display:none在函数结束时重新打开,因此该元素永远不会显示。

最新更新