vue組件中倒計時,刷新頁面不會從頭開始


開啟倒計時,直接保存到vuex中,且存儲到本地持久化

// state.js

const runTime = localStorage.getItem('time');

paymentRunTime:runTime
//  mutations.js

TimeReduction(state) {
    this.timerId = setInterval(() => {
      if (state.paymentRunTime === 0) {
         state.paymentRunTime = 60;
         return clearInterval(this.timerId)
      }
       state.paymentRunTime -= 1;
      localStorage.setItem('time',state.paymentRunTime)
    },1000);
  },

在需要用到的頁面鈎子函數調用方法, created(){ this.$store.commit(TimeReduction) } 

效果,頁面與本地存儲始終保持一致,即使刷新頁面也不會重新計時

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM