1.内存泄漏问题
方式一:
let chart = echarts.getInstanceByDom(document.getElementById(dom))
if (!chart) { // 防止重复初始化
chart = echarts.init(document.getElementById(dom))
}
var option = { //.......................}
chart.setOption(option)
//-释放echarts对象
beforeDestroy () {
let chart = echarts.getInstanceByDom(document.getElementById(dom))
if (chart) {
echarts.dispose(chart)
}
}
方式二:(官网实例上有once hook 比destroy)
let chart = echarts.getInstanceByDom(document.getElementById(dom));
if (!chart ) {
chart = echarts.init(document.getElementById(dom))
this.$once('hook:beforeDestroy', function () {
echarts.dispose(chart )
})
}
2.echarts图表手动刷新可显示,路由切换后闪一下消失问题
方式1:使用动态id
方式2:延时初始化 setTimeout
方式3:初始化时获取dom方式改为ref
this.myChart1 = echarts.init(document.getElementById('main1')) // 之前的方式
this.myChart1 = echarts.init(this.$refs.main1) // 修改后的方式