最近有个项目需要使用到echarts,但是这个项目是一个响应式,因为echarts使用的是canvas,所以在初始化以后,画布的大小是没办法改变的,只能清除掉重绘。
echarts.init(this.$refs.myChart1).dispose();//删除之前绘画的实例
echarts.init(this.$refs.myChart2).dispose();
this.drawLine();//再次调用绘画方法
这里为了帮助理解再截取部分绘画方法
drawLine() {
// 基于准备好的dom,初始化echarts实例
let myChart1 = echarts.init(this.$refs.myChart1);
let myChart2 = echarts.init(this.$refs.myChart2);
// 绘制图表
myChart1.setOption(this.option.option1);
myChart2.setOption(this.option.option2);
重绘本质上就是先使用dispose
方法将之前的实例销毁,然后再次绘画。