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) } 

效果,页面与本地存储始终保持一致,即使刷新页面也不会重新计时

原文地址:https://www.cnblogs.com/zhaohui-116/p/12399205.html