原因分析
原因:多次创建同一 DOM
节点,频繁初始化图表导致(多个 init
echarts
实例)。
详细报错如下图所示: 由于创建图表实例的代码,做了封装,页面中多次重复调用,导致多次
init
初始化图表实例。
使用 echarts.getInstanceByDom()
判断是否存在 echarts
实例。
如果有则不创建,反之创建。
// 假设: DOM节点是 XXX
// 引入echarts
import * as ets from 'echarts'
// 查看是否创建 “xx” DOM节点图表实例
let myChart = ets.getInstanceByDom('xxx')
// 判端是否进行创建
if(myChart == null){// 成立则表示没有该DOM节点实例图表
myChart = ets.init('xxx')//初始化图表(创建)
}
// 图表实例
console.log(myChart)