需求:在后端没有使用websocket的时候,前端做轮询请求实时更新图表数据
1、 每次轮询会有新的表DOM生成,不合要求;
2、定时轮询,清空定时,数据请求渲染时删除旧DOM
- echart html代码
<div class="wrap">
<div id="arichLine"></div>
</div>
- 定时器设置,清空&刷新
//设置定时器刷新方法
dataFresh(){
//计时器正在进行,退出
if(this.intervalId !=null){
return;
},
//计时器为空,轮询请求
this.intervalId = setInterval(()=>{
//数据请求方法
this.get_data();
},10000)
}
//清空定时器方法
clear(){
clearInterVal(this.intervalId);
this.intervalId = null;
}
- page页启动方法以及销毁方法
//created生命周期钩子
created(){
this.get_data();
this.dataFresh();
}
//销毁阶段
destroyed(){
this.clear();
}
3、在每次echart生成渲染的时候清空DOM
//置空DOM的代码,放在echarts图标的init方法中
let containDiv = document.getElementById('arichLine');
containDiv.innerHTML = '';