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

查看:165
本文介绍了javascript - 请问vuejs如何获取组件使用slot插入后的高度。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

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

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

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

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

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

解决方案

已解决,利用了setTimeOut来改变代码的执行顺序:

mounted () {

let self = this
setTimeout(function () {
    console.log(self .$refs.aa.offsetHeight)
}, 0)

}

这篇关于javascript - 请问vuejs如何获取组件使用slot插入后的高度。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆