<address id="ttjl9"></address>

      <noframes id="ttjl9"><address id="ttjl9"><nobr id="ttjl9"></nobr></address>
      <form id="ttjl9"></form>
        <em id="ttjl9"><span id="ttjl9"></span></em>
        <address id="ttjl9"></address>

          <noframes id="ttjl9"><form id="ttjl9"></form>

          VUE 設置定時器和清理定時器

          2021-8-31    前端達人

          使用鉤子函數對定時器進行清理,失敗了,

          1、在data中聲明要設置的定時器名稱:

          
          
          1. data() {
          2. return {
          3. timer: null // 定時器名稱
          4. }
          5. },復制代碼

          2、在mounted中創建定時器:

          
          
          1. this.timer = (() => {
          2. // 某些操作
          3. }, 5000)復制代碼

          3、在頁面注銷時清理定時器:

          
          
          1. beforeDestroy() {
          2. clearInterval(this.timer);
          3. this.timer = null;
          4. }復制代碼

          然鵝,并沒什么卵用,在切換頁面后,定時任務依然頑強的奔跑著。

          
          
          1. beforeDestroy() {
          2. clearInterval(this.timer);
          3. this.timer = null;
          4. console.log(this.timer) //輸出為: null,但是任務依然在繼續運行
          5. }復制代碼

          可能是我的姿勢不對吧。害羞.jpg

          經過在各大論壇一番查找發現:

          通過$once這個事件偵聽器在定義完定時器之后的位置來清除定時器:

          
          
          1. const timer = setInterval(() =>{
          2. // 某些定時器操作
          3. }, 5000);
          4. // 通過$once來監聽定時器
          5. // 在beforeDestroy鉤子觸發時清除定時器
          6. this.$once('hook:beforeDestroy', () => {
          7. clearInterval(timer);
          8. }) 復制代碼

          哇,成功了...



          藍藍設計建立了UI設計分享群,每天會分享國內外的一些優秀設計,如果有興趣的話,可以進入一起成長學習,請掃碼ben_lanlan,報下信息,會請您入群。歡迎您加入噢~~希望得到建議咨詢、商務合作,也請與我們聯系。

          文章來源:csdn

          分享此文一切功德,皆悉回向給文章原作者及眾讀者.
          免責聲明:藍藍設計尊重原作者,文章的版權歸原作者。如涉及版權問題,請及時與我們取得聯系,我們立即更正或刪除。

          藍藍設計www.syprn.cn )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 、平面設計服務




          日歷

          鏈接

          個人資料

          藍藍設計的小編 http://www.syprn.cn

          存檔

          亚洲va欧美va天堂v国产综合