vue页面的定时刷新

在做项目时我们肯定会遇到要求该页面几分钟去定时刷新一下获取最新数据这样的情况,那么这个时候我们就要使用setInterval()了。那么我们应该把定时刷新放在什么位置什么时候触发什么时候清除呢?这就需要我们了解vue的生命周期。首先贴一张从官网截下来的图吧。

è¿éåå¾çæè¿°
在该图上我已经标注了触发和清除的时期,那么我们在使用中还有几个需要注意的点。

使用setInterval时this指向的问题。如果我们直接
this.timer = setInterval(function(){要触发的函数}) 是会报错的。因为这样的话this的指向为window,但是我们要触发的函数是挂载在vm实例上面的。所以这个时候就是箭头函数发挥用处的时候了。我们可以直接这样写this.timer = setInterval(() => {要触发的函数}).
使用mouted,beforeDestory时注意他们是和method平级的。

使用方法:

//设置10s刷新一次数据
        if (this.timer) {
            clearInterval(this.timer);
        }else{
            this.timer = setInterval(() => {
                this.getMigrateDetail(); //自己的方法
            },10000)
        }

我是在destroyed的时候清除页面刷新的。

destroyed () {
      clearInterval(this.timer);//页面销毁时清除定时器
  }


这里的getMigrateDetail()是我自己定义的一个函数,大家在实现的时候只需要把它替换成自己的函数就ok了。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值