在vue项目中引入echarts图表时,由于会有没数据的情况,所以想在没数据的时候隐藏echarts,但是遇到一个问题,
1.使用v-if时,显示没问题,隐藏后在显示,会显示空页面,可能因为被dom被删除的因素,所以改用v-show,就可以了
2.使用v-show隐藏显示后,echarts的宽度会变成100px,因为隐藏后在显示,会找不到之前设置的宽高,所以选择使用window.onresize自适应高度
let myChart = echarts.init(document.getElementById('id'))
window.onresize = function () {
myChart.resize()
}
3.当vue页面路由跳转到下一个页面时,上一个页面的onresize方法会继续执行,所以就需要销毁
//注销window.onresize事件
destroyed(){
window.onresize = null;
}
本文探讨了在Vue项目中使用ECharts图表时,如何解决数据加载前后图表显示与隐藏的问题。通过对比v-if与v-show的使用场景,发现v-show更适合处理图表的动态显示与隐藏。同时,文章还分享了利用window.onresize事件解决图表尺寸自适应问题的方法,以及在路由切换时避免上一页的onresize事件干扰的解决方案。
1541

被折叠的 条评论
为什么被折叠?



