猿问

请问vuejs如何获取组件使用slot插入后的高度。

在某个组件中我使用到以下代码:

<div ref='aa'>
    <slot name='content'></slot></div>

然后我在该组件的mounted状态下获取其高度,总是为0:

mounted () {
    console.log(this.$refs.aa.offsetHeight)
}

原因感觉可能是mounted状态下还没有完成代码的插入吧,所以获取的是插入前的高度。
而目前需要获取该div插入相应代码块后的高度,直接延迟1秒执行代码虽然可以解决问题但并不是最好的办法,求大神指点。


千巷猫影
浏览 1457回答 1
1回答

幕布斯6054654

利用了setTimeOut来改变代码的执行顺序:mounted () {let&nbsp;self&nbsp;=&nbsp;thissetTimeout(function&nbsp;()&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;console.log(self&nbsp;.$refs.aa.offsetHeight) },&nbsp;0)}
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答