vue.js

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript类库 > vue.js > vue echarts定时重新绘制达到刷新的动效

vue+echarts定时重新绘制以达到刷新的动效问题

作者:不想996了的小姑娘

这篇文章主要介绍了vue+echarts定时重新绘制以达到刷新的动效问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

vue echarts定时重新绘制达到刷新的动效

主要注意在setOption() 之前要调用clear() 方法

以下为代码:

 // 重绘饼图
    resetPieChartData() {
      clearInterval(this.timeRePie);
      this.timeRePie = setInterval(() => {
        // debugger;
        if (!this.pieChart) {
          return;
        }
        // 不先清空chart没法重绘
        this.pieChart.clear();
        this.pieChart.setOption(this.pieOption); //获取echarts数据的方法
      }, 4000);
    },
    ```

vue项目局部定时刷新多个echart图表

js2种常用定时器

//会间隔3s不停的调用函数
setInterval(function(){}, 3000)
//延迟3s执行 只执行一次
setTimeout(function(){}, 3000)

使用多个setInterval会导致浏览器崩溃!

原因是setInterval不会清除定时器队列,每重复执行1次都会导致定时器叠加,最终导致浏览器崩溃。

setTimeout是自带清除定时器的,

解决方法

如下所示:

window.setInterval(() => {
    setTimeout(function(){}, 0)
}, 3000)
//页面加载完 再定时刷新
data:{
    return {
        Timer01:null,
    }
},
mounted(){
    let that = this;
    that.getData();
    that.Timer01 = window.setInterval(() => {
        setTimeout(()=>{
            that.getData();
        }, 0)
    }, 3000)
},
destory(){
    this.Timer01 = null
}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文