vue 获取高度的问题

组件数据异步获取,我需要获取到数据填充完毕后容器的高度,在mounted、nextTick获取到的高度都是0.,我应该怎么才能拿到这个高度呢

阅读 7.1k
7 个回答

把代码贴粗来,才好分析问题~

既然是要 获取到数据填充完毕后容器的高度,那应该是在获取数据后的回调里获取窗口高度啊

我的办法就是先加载数据后再加载界面,先写个loading的组件,在开始加载数据时显示loading,数据附值后再加载界面。在界面出来后才能真正获得高度。

<template>
<div>
<div v-if="loading">loading</div>
<div v-if="!loading">//真正界面</div>
</div>
</template>

先介绍一下你的场景,很多时候是不需要去获取这个高度的。

数据请求成功后调用this.$nextTick([callback]) 将回调延迟到下次 DOM 更新循环之后执行

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题