报错原因:主要是因为,我把echats图表的代码封装成一个方法,在页面中多次调用,而页面中创建的dom节点都是同一个,每次运行都会init一个echarts实例,所有就会出现上面的警告信息
解决办法:使用echarts.getInstanceByDom() 方法判断是否已经存在echarts实例,如果有则不创建,如果没有就进行创建。注意,注册在vue的 prototype上并用echarts表示,所以直接使用this.$echarts表示
getChart(el) {
let myChart = this.$echarts.getInstanceByDom(document.getElementById(el));
if (myChart == undefined) {
myChart = this.$echarts.init(document.getElementById(el));
}
let _config = this.optionChart(data);
myChart.clear();
myChart.setOption(_config );
},