1. 程式人生 > 程式設計 >vue setInterval 定時器失效的解決方式

vue setInterval 定時器失效的解決方式

正常情況下,在data裡定義homeSetInterval 儲存定時器的ID值 ,在銷燬元件是使用clearInterval方法是可行的

vue setInterval 定時器失效的解決方式

但在使用瞭如下的keep快取模式在使用銷燬模式不行了

vue setInterval 定時器失效的解決方式

應該使用離開路由器前方法beforeRouteLeave

vue setInterval 定時器失效的解決方式

補充知識:vue中使用定時器的坑

我們在使用vue的腳手架去搭建開發環境的時候,在A頁面寫入一個定時器去定時請求一個介面,但是我們去B頁面,C頁面的時候都會有這個介面定時請求的現象,那麼怎樣處理呢?

第一步:

首先我在data函式裡面進行定義定時器名稱:

data() {      
  return {               
    timer: null // 定時器名稱     
  }    
},

第二步:

在要用的方法中使用定時器

this.timer = (() => {
// 某些操作
},1000)

第三步:

beforeDestroy()生命週期內清除定時器

  beforeDestroy() {
  clearInterval(this.timer);    
  this.timer = null;
  }

以上這篇vue setInterval 定時器失效的解決方式就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。