首页 > 其他分享 >清除定时器setInterval 问题

清除定时器setInterval 问题

时间:2022-09-23 11:55:19浏览次数:75  
标签:定时器 checked setInterval 清除 clearInterval timer window localStorage 刷新

前置条件:在 A页面加了一个check选择,需要自动刷新请求接口;然后在未取消自动刷新时跳转了其他页面后再次回到 A页面 去清理掉定时器。
<el-checkbox v-model="checked" @change="changeRef"> 自动刷新 </el-checkbox>
用的clearInterval(this.timer)没有效果,清掉一次后直接走了接口方法,checked自动变为true。
用了this.timerList、window.clearInterval(this.timer)清除也不行

因为在跳转页面前 将自动刷新状态保存在本地

// 自动刷新设置
    changeRef(){
      let that = this;
      localStorage.setItem('checked',this.checked);
      const checks = localStorage.getItem('checked');
      if(checks == 'true' && this.checked == true){
        that.timer = window.setInterval(function(){
          that.getTable()
        },5000)
      }else{
        localStorage.removeItem('checked');
        window.clearInterval(that.timer);
      }
    },

可以在点击取消自动刷新时,将状态进行更新,并在请求接口之前做个判断,

getTable(){
const checks = localStorage.getItem('checked');
 if(checks == 'true'){
  //请求方法
 }else{
  window.clearInterval(this.timer);
}
}

这样就清掉了................

标签:定时器,checked,setInterval,清除,clearInterval,timer,window,localStorage,刷新
From: https://www.cnblogs.com/cyapi/p/16722218.html

相关文章

  • js定时器动态显示时间
     //time    lettime=document.getElementsByClassName('time')[0];    functionstartTime(){      vartoday=newDate();//定......
  • JMeter六种定时器
      先明确一些概念:1)定时器是在每个sampler(采样器)之前执行的,而不是之后;是的,你没有看错,不管这个定时器的位置放在sampler之后,还是之下,它都在sampler之前得到执行。2......
  • windows睡眠后自动唤醒的解决方案——在电源选项中,禁用「允许使用唤醒定时器」
    解决方案:查看哪些硬件能唤醒电脑的命令:RealtekPCIeGbEFamilyController#2https://blog.csdn.net/weixin_36328790/article/details/1136877992.中级阶段,晚......
  • 案例-倒计时[ setInterval ]
    案例-倒计时[setInterval]案例分析:这个倒计时是不断变化的,因此需要定时器来自动变化(setInterval)三个黑色盒子里面分别存放时分秒三个黑色盒子利用innerHTML......
  • 垃圾回收算法(3)-标记清除算法
    前言标记清除算法(Mark-Sweep)是一种非常基础和常见的垃圾收集算法,该算法被J.McCarthy等人在1960年提出并成功的发明并应用于Lisp语言。涉及概念先来了解一下mutator和col......
  • 交换机清除con密码
    重启交换机按ctrl+c按ctrl+q输入:main_config_password_clear载入系统后:deleteflash:/config.text然后重启:load图解过程如下:  锐捷交换机S2652重启交换机按......
  • index.html (Apache) 的正确缓存清除
    index.html(Apache)的正确缓存清除来自CompetaIT档案;BastiaanDressen于2018年2月22日首次发表。部署JavaScript应用程序的一种方法是使用一些构建工具(......
  • matplotlib 清除axis plt.cla()、plt.clf()、plt.close()
     plt.cla()#清除axes,即当前figure中的活动的axes,但其他axes保持不变。plt.clf()#清除当前figure的所有axes,但是不关闭这个window,所以能继续复用于其他的plot。......
  • 为什么会出现浮动?浮动元素会引起什么问题?如何清除浮动?
    浮动将元素排除在普通流之外,即元素将脱离文档流,不占据空间。浮动元素碰到包含它的边界或者浮动元素的边界停留为什么需要清除浮动1、子元素浮动后,不占位置,父元素的......
  • js实现切换页面清除定时器的函数
    背景:我在切换页面的时候,发现切换回原来的页面,定时器会叠加而不会清除原来的定时器解决方法:1.定义全局变量,通过js遍历清除(不会用,但性能好)varpageTimer={};/......