您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關vue如何獲取驗證碼倒計時組件的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
具體內容如下
之前寫過一個計時函數,有計算誤差,但是驗證碼的60秒倒計時可以忽略這一點點誤差。直接上代碼。
<template> <div class="captcha-row"> <input class="captcha-input" placeholder="輸入驗證碼" auto-focus /> <div v-if="showtime===null" class="captcha-button" @click="send"> 獲取驗證碼 </div> <div v-else class="captcha-button"> {{showtime}} </div> </div> </template>
<script> export default { data() { return { // 計時器,注意需要進行銷毀 timeCounter: null, // null 則顯示按鈕 秒數則顯示讀秒 showtime: null } }, methods: { // 倒計時顯示處理 countDownText(s) { this.showtime = `${s}s后重新獲取` }, // 倒計時 60秒 不需要很精準 countDown(times) { const self = this; // 時間間隔 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>
<style lang="less" scoped> .captcha-row { display: flex; .captcha-button { background: #048fff; color: white; display: flex; justify-content: center; align-items: center; padding: 4rpx 8rpx; width: 320rpx; border-radius: 4rpx; } } </style>
Vue具體輕量級框架、簡單易學、雙向數據綁定、組件化、數據和結構的分離、虛擬DOM、運行速度快等優勢,Vue中頁面使用的是局部刷新,不用每次跳轉頁面都要請求所有數據和dom,可以大大提升訪問速度和用戶體驗。
感謝各位的閱讀!關于“vue如何獲取驗證碼倒計時組件”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。