前端项目(uniapp、vue)中如何做页面数据定时刷新

94 篇文章 2 订阅
84 篇文章 0 订阅

页面数据定时刷新问题

在我们前端工作中,如果条件不允许使用websocket,或者暂时为演示项目,让我们暂时使用定时刷新,来保持项目的页面数据的刷新。
以uniapp为例,这里做一个示范,有问题,请评论纠正,谢谢

步骤一 定义变量 autoRefreshId,theTime

autoRefreshId:1 ,// 判断自动刷新 1 刷新,0 停止
theTime:'',

步骤二 使用settimeout

在你需要刷新数据的地方使用settimeout
例如
在这里插入图片描述

if (that.autoRefreshId == 1) {
						that.theTime = setTimeout(() => {
							that.getDevDtData();
						}, 3000);
					}else{
						clearTimeout(that.theTime)
					}

我在数据请求成功之后使用setTimeout 将setTimeout事件赋值给theTime 变量(方便后面清除)

步骤三 清除setTimeout

以uniapp为例
我在onhide和onUnload事件都写入清除事件(即 页面销毁 和 页面隐藏 事件都要加上清除定时)

this.autoRefreshId = 0;// 同时改变autoRefreshId 数值
clearTimeout(this.theTime) // 清除指定的定时setTimeout 
clearTimeout()// 清除所有setTimeout 

然后就能够实现数据刷新的效果。
注意: 如果使用到v-for 则将DOM的key好好设置一下,不然会使得用户感受到页面DOM刷新。

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

第7个前端

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值