溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

vue倒計(jì)時(shí)刷新頁面不會(huì)從頭開始的解決方法

發(fā)布時(shí)間:2020-08-19 17:55:14 來源:腳本之家 閱讀:340 作者:千杯樂逍遙 欄目:web開發(fā)

開啟倒計(jì)時(shí),直接保存到vuex中,且存儲(chǔ)到本地持久化

// 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);
 },

在需要用到的頁面鉤子函數(shù)調(diào)用方法, created(){ this.$store.commit(TimeReduction) }

知識(shí)點(diǎn)擴(kuò)展:

倒計(jì)時(shí)實(shí)例代碼:

<template>
 <div class="captcha-row">
 <input class="captcha-input" placeholder="輸入驗(yàn)證碼" auto-focus />
 <div v-if="showtime===null" class="captcha-button" @click="send">
  獲取驗(yàn)證碼
 </div>
 <div v-else class="captcha-button">
  {{showtime}}
 </div>
 </div>
</template>
<script>
export default {
 data() {
 return {
  // 計(jì)時(shí)器,注意需要進(jìn)行銷毀
  timeCounter: null,
  // null 則顯示按鈕 秒數(shù)則顯示讀秒
  showtime: null
 }
 },
 methods: {
 // 倒計(jì)時(shí)顯示處理
 countDownText(s) {
  this.showtime = `${s}s后重新獲取`
 },
 // 倒計(jì)時(shí) 60秒 不需要很精準(zhǔn)
 countDown(times) {
  const self = this;
  // 時(shí)間間隔 1秒
  const interval = 1000;
  let count = 0;
  self.timeCounter = setTimeout(countDownStart, interval);
  function countDownStart() {
  if (self.timeCounter == null) {
   return false;
  }
  count++
  self.countDownText(times - count + 1);
  if (count > times) {
   clearTimeout(self.timeCounter)
   self.showtime = null;
  } else {
   self.timeCounter = setTimeout(countDownStart, interval)
  }
  }
 },
 send() {
  this.countDown(60);
 }
 },
}
</script>

以上就是vue倒計(jì)時(shí)刷新頁面不會(huì)從頭開始的解決方法的詳細(xì)內(nèi)容,更多關(guān)于vue倒計(jì)時(shí)刷新頁面不會(huì)從頭開始的資料請關(guān)注億速云其它相關(guān)文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI