欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Vue中用JSON實(shí)現(xiàn)刷新界面不影響倒計(jì)時(shí)

 更新時(shí)間:2020年10月26日 11:00:15   作者:SmallTeddy  
這篇文章主要為大家詳細(xì)介紹了Vue中用JSON實(shí)現(xiàn)刷新界面不影響倒計(jì)時(shí),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了Vue中用JSON實(shí)現(xiàn)刷新界面不影響倒計(jì)時(shí)的具體代碼,供大家參考,具體內(nèi)容如下

效果展示:

部分代碼

<el-form-item style="overflow:hidden" v-if="env === 'dev'">
 <el-input style="width:180px; float:left" v-model="ruleForm.nucCode" size="small" placeholder="請輸入短信驗(yàn)證碼" />
 <el-button class="message_btn" @click="getNumCode">
 <span v-if="isShowNucTime" style="font-size:16px" >{{Nuc_time}} S</span>
 <span v-else-if="!isShowNucTime && NucAgain" >重新獲取驗(yàn)證碼</span>
 <span v-else style="color:#7fbfff" >獲取短信驗(yàn)證碼</span>
 </el-button>
</el-form-item>
isShowNucTime:boolean = false;
NucAgain: boolean = false;
Nuc_code_freash: boolean = false; // 判斷驗(yàn)證碼是否過期
Nuc_time: number = 60;
end_time: number = 0;

private getCode() {
 let clicktime = new Date().getTime() + 60000;
 // 本地存儲(chǔ)
 localStorage.setItem('myEndTime', JSON.stringify(clicktime));
 this.timeDown(clicktime);
 }

 // 驗(yàn)證碼倒計(jì)時(shí)
 timeDown(counttime: any) {
 // 判斷是否正在倒計(jì)時(shí)
 if (this.isShowNucTime) return;
 this.userChange = false;
 this.isShowNucTime = true;
 this.isGetNucCode = true;
 this.end_time = Number(localStorage.getItem('myEndTime'));
 this.Nuc_time = Math.ceil((this.end_time - new Date().getTime()) / 1000);
 let interval = setInterval(() => {
 this.Nuc_time--;
 if (this.Nuc_time < 1) {
 this.Nuc_time = 60;
 this.isShowNucTime = false;
 localStorage.removeItem('myEndTime');
 if (!this.userChange) {
 this.NucAgain = true;
 }
 clearInterval(interval);
 }
 }, 1000)
 }

private created(): void {
 let myEndTime= localStorage.getItem('myEndTime');
 myEndTime && this.timeDown(myEndTime);
 }

重要的代碼部分

實(shí)現(xiàn)原理

1.首次加載頁面 點(diǎn)擊開始

1).獲取當(dāng)前時(shí)間戳與要倒計(jì)時(shí)的時(shí)間相加獲得要停止計(jì)時(shí)的時(shí)間

2).用localStorage保存當(dāng)前時(shí)間戳

3).通過js的setInterval定時(shí)器進(jìn)行倒計(jì)時(shí)

4).當(dāng)?shù)褂?jì)時(shí)結(jié)束后 清除localStorage中保存的結(jié)束時(shí)間

2.當(dāng)?shù)趎次進(jìn)入頁面或刷新頁面時(shí)

1).首先判斷l(xiāng)ocalStorage中倒計(jì)時(shí)是否結(jié)束

2).沒有結(jié)束則繼續(xù)倒計(jì)時(shí)

3).如果結(jié)束則顯示重新發(fā)送驗(yàn)證碼

  • 主要運(yùn)用了localStorage + new Date().getTime()
  • PS:本文只是展示部分代碼,一味的復(fù)制粘貼并不能運(yùn)行,還是搞清楚邏輯自己實(shí)現(xiàn)比較靠譜!

關(guān)于vue.js組件的教程,請大家點(diǎn)擊專題vue.js組件學(xué)習(xí)教程進(jìn)行學(xué)習(xí)。

更多vue學(xué)習(xí)教程請閱讀專題《vue實(shí)戰(zhàn)教程》

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Vue.js+Layer表格數(shù)據(jù)綁定與實(shí)現(xiàn)更新的實(shí)例

    Vue.js+Layer表格數(shù)據(jù)綁定與實(shí)現(xiàn)更新的實(shí)例

    下面小編就為大家分享一篇Vue.js+Layer表格數(shù)據(jù)綁定與實(shí)現(xiàn)更新的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • 詳解Vue項(xiàng)目引入CreateJS的方法(親測可用)

    詳解Vue項(xiàng)目引入CreateJS的方法(親測可用)

    CreateJS是基于HTML5開發(fā)的一套模塊化的庫和工具。這篇文章主要介紹了Vue項(xiàng)目引入CreateJS的方法(親測),需要的朋友可以參考下
    2019-05-05
  • vue實(shí)現(xiàn)輸入一位數(shù)字轉(zhuǎn)漢字功能

    vue實(shí)現(xiàn)輸入一位數(shù)字轉(zhuǎn)漢字功能

    這篇文章主要介紹了vue實(shí)現(xiàn)輸入一位數(shù)字轉(zhuǎn)漢字功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-12-12
  • vue-simple-verify實(shí)現(xiàn)滑動(dòng)驗(yàn)證碼功能

    vue-simple-verify實(shí)現(xiàn)滑動(dòng)驗(yàn)證碼功能

    登錄頁面經(jīng)常會(huì)需要滑動(dòng)驗(yàn)證碼的情況,使用vue插件vue-simple-verify就可以輕松實(shí)現(xiàn),下面小編給大家分享vue-simple-verify實(shí)現(xiàn)滑動(dòng)驗(yàn)證碼功能,感興趣的朋友一起看看吧
    2024-06-06
  • 深入探討Vue3實(shí)現(xiàn)多數(shù)據(jù)變化監(jiān)聽的方式

    深入探討Vue3實(shí)現(xiàn)多數(shù)據(jù)變化監(jiān)聽的方式

    隨著 Vue 3 的發(fā)布,框架帶來了更多的新特性和增強(qiáng),其中之一就是 watch 函數(shù)的升級(jí),這一改進(jìn)使得多個(gè)數(shù)據(jù)的變化偵聽更加優(yōu)雅和靈活,本文將深入探討 Vue 3 中的 watch 函數(shù),以及如何以更加優(yōu)雅的方式實(shí)現(xiàn)對(duì)多個(gè)數(shù)據(jù)變化的監(jiān)聽
    2023-08-08
  • 關(guān)于element中對(duì)el-input 自定義驗(yàn)證規(guī)則

    關(guān)于element中對(duì)el-input 自定義驗(yàn)證規(guī)則

    這篇文章主要介紹了關(guān)于element中對(duì)el-input 自定義驗(yàn)證規(guī)則,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • Vue3+Canvas實(shí)現(xiàn)簡易的貪吃蛇游戲

    Vue3+Canvas實(shí)現(xiàn)簡易的貪吃蛇游戲

    貪吃蛇作為一個(gè)經(jīng)典的小游戲,是很多人兒時(shí)的記憶,當(dāng)時(shí)的掌機(jī)、諾基亞手機(jī)里面都有它的身影。本文將用Vue3?Canvas來復(fù)刻一下這款游戲,感興趣的可以了解一下
    2022-07-07
  • vue3中使用props和emits并指定其類型與默認(rèn)值

    vue3中使用props和emits并指定其類型與默認(rèn)值

    props是Vue3中的一個(gè)重要概念,它允許我們將數(shù)據(jù)從父組件傳遞到子組件,下面這篇文章主要給大家介紹了關(guān)于vue3中使用props和emits并指定其類型與默認(rèn)值的相關(guān)資料,需要的朋友可以參考下
    2023-04-04
  • Vue中v-on的基礎(chǔ)用法、參數(shù)傳遞和修飾符的示例詳解

    Vue中v-on的基礎(chǔ)用法、參數(shù)傳遞和修飾符的示例詳解

    使用v-on:click給button綁定監(jiān)聽事件以及回調(diào)函數(shù),@是v-on:的縮寫,也就是簡寫也可以使用@click,這篇文章主要介紹了Vue中v-on的基礎(chǔ)用法、參數(shù)傳遞和修飾符,需要的朋友可以參考下
    2022-08-08
  • 深入理解Vue3里的EffectScope

    深入理解Vue3里的EffectScope

    本文主要介紹了Vue3里的EffectScope,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08

最新評(píng)論