码迷,mamicode.com
首页 > 其他好文 > 详细

清除定时器 和 vue 中遇到的定时器setTimeout问题

时间:2017-07-18 13:39:42      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:ack   monitor   nbsp   date   定时   清除   monit   其他   使用   

--------------VUE项目中遇到一个问题。a.vue 文件中触发setTimeout后,使用按钮跳转至其他页面,快速返回至a.vue页面后 发现定时器仍然在走。

例子:a.vue代码

window.setTimeout(function(){
 window.location.href = "/serverMonitor?t="+ new Date().getTime();
},5000)

解决办法:

window.setTimeout(function(){
    if(this && !this._isDestroyed){ //_isDestroyed 组件是否被销毁
        return; 
    }
    window.location.href = "/serverMonitor?t="+ new Date().getTime();
},5000)

--------------清除定时器

定时器一般有两个

1、setTimeout();//n毫秒后执行一次

2、setInterval();//每隔n秒执行一次

setTimeout()对应的是 clearTimeout(funName);

setInterval()对应的是 clearInterval(funName);

<script>
   var funName1 = setTimeout(function(){
       return ;
   },1000);
 
    var funName2  = setInterval(function(){
        return fun2;
    },1000)
 
    //清除Timeout的定时器,传入id(创建定时器时会返回一个id)
    clearTimeout(funName1 );
 
    //清除Interval的定时器,传入id(创建定时器时会返回一个id)
    clearInterval(funName2  );
</script>

  

 

 

清除定时器 和 vue 中遇到的定时器setTimeout问题

标签:ack   monitor   nbsp   date   定时   清除   monit   其他   使用   

原文地址:http://www.cnblogs.com/ximiximi-blog/p/7199576.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!