echarts内存泄漏
ECharts在每次setOption后都需要清理变量,在ECharts中是有API手动清理变量的,分别是clear()和dispose(),区别是前者只需插入参数,ECharts就会重绘图表;而后者则是直接将ECharts对象进行清理,需要重新构建ECharts对象。
//clear
var chart = echarts.getInstanceByDom(document.getElementById(dom));
if (chart === undefined)
{
chart = echarts.init(document.getElementById(dom));
}
var option = { //.......................}
chart.setOption(option);
//dispose
beforeDestroy () {
let Chart = echarts.getInstanceByDom(this.$refs.barchart)
if (!Chart) {
Chart = echarts.init(this.$refs.barchart, 'light')
this.$once('hook:beforeDestroy', function () {
echarts.dispose(Chart)
})
}
}