2024-05-06 vue获取页面元素高度(注意view标签无法获取到高度,请用div)
要获取元素高度要满足以下条件:
1、组件或页面已加载完毕;
2、使用ref绑定的是标准的dom
先贴获取方法:用ref绑定元素title,然后在mounted使用this.$refs.title.offsetHeight获取。
为什么要满足条件1?因为页面没渲染完成是无法获取到元素的。
为什么要满足条件2?如果你是使用的是view标签,你会发现打印this.$refs.title.offsetHeight是undefined,而使用标签div则没事,这是为什么?
<view class="title" ref='title'>分类</view> <div class="title" ref='title'>分类</div> 因为view是作为自定义组件或者特殊标签存在的,它不能直接映射到原生dom里去,当你使用$refs时,无法通过view拿到dom里面的一些方法。
so,这种情况下请用div。

浙公网安备 33010602011771号