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