【Vue】Vue 在 mounted 中通过 refs 无法调用到元素的高度
Vue
在 mounted
中通过 refs
无法调
用到元素
的高度
需求 在页面加载完成后获取元素的高度然后计算后赋给另一元素
可以看到顶部是 fxied
的所以导致下方文字(顶部的大小不确定,无法直接通过 css
设置)所以需要在页面加载完成获取然后给下方的 div
赋值
mounted() {const heightA = window.getComputedStyle(this.$refs.header).height;
console.log("heightA ==> "+heightA);
}
输出 auto
mounted() {this.$refs.header.onload = () =>{
const heightA = window.getComputedStyle(this.$refs.header).height;
console.log("heightA ==> "+heightA);
};
}
啥都不做
mounted() {this.$nextTick(()=>{
const heightA = window.getComputedStyle(this.$refs.header).height;
console.log("heightA ==> "+heightA);
})
}
输出auto
mounted() {setTimeout(() => {
const heightA = window.getComputedStyle(this.$refs.header).height;
console.log("heightA ==> "+heightA);
}, 1000);
}
输出50px
最后一种可以获取,但是不满足在页面加载完成后立马获取到高度
回答
mounted只是vue渲染完毕,不代表里面的样式也渲染完毕.
你在读取高度的时候,页面还没渲染完成
通过this.$refs.header.offsetHeight
获取高度试试
解决了吗 我也遇到了不知道不知道什么时候能加载完
以上是 【Vue】Vue 在 mounted 中通过 refs 无法调用到元素的高度 的全部内容, 来源链接: utcz.com/a/75487.html