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
}总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论