在项目开发中创建echart图表时遇到“There is a chart instance already initialized on the dom.”的警告,意思即为dom上已经初始化了一个图表实例,并且如果你图表中定义了点击方法,多次覆盖之后,点击方法会触发多次。更新页面重复加载这个图表实例时就会出现这类警告。

以下写法可以避免这类警告。

1、例如你的echart图表代码写在一个单独的echarts.js文件中,建议在export defalut之外 定义 var myChart;

在方法最外层定义全局变量

 2、然后在插件使用方法中:即在echarts图表函数中写 :

 if (myChart != null && myChart != "" && myChart != undefined) {

        myChart.dispose(); //销毁

      }

// 基于已经创建好的dom,初始化echarts实例

      myChart = echarts.init(document.getElementById("def1"));

      var option;

3、总结

echarts图表方法的最开始写上判断,然后初始化echarts实例;

最重要的就是全局定义和方法开头的判断。然后再myChart.dispose(); //销毁重复加载的图表实例。

 

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐