当前位置: 代码网 > it编程>前端脚本>Vue.js > vue+echarts定时重新绘制以达到刷新的动效问题

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

2024年07月02日 Vue.js 我要评论
vue echarts定时重新绘制达到刷新的动效主要注意在setoption() 之前要调用clear() 方法以下为代码: // 重绘饼图 resetpiechartdata() {

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
}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com