本篇文章給大家分享的是有關Vue 中怎么實現一個短信驗證碼組件,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
創新互聯建站專注于惠陽網站建設服務及定制,我們擁有豐富的企業做網站經驗。 熱誠為您提供惠陽營銷型網站建設,惠陽網站制作、惠陽網頁設計、惠陽網站官網定制、微信小程序定制開發服務,打造惠陽網絡公司原創品牌,更為您提供惠陽網站排名全網營銷落地服務。1、 Vue 組件代碼如下:
Vue.component('timerBtn',{ template: '<button v-on:click="run" :disabled="disabled || time > 0">{{ text }}</button>', props: { second: { type: Number, default: 60 }, disabled: { type: Boolean, default: false } }, data:function () { return { time: 0 } }, methods: { run: function () { this.$emit('run'); }, start: function(){ this.time = this.second; this.timer(); }, stop: function(){ this.time = 0; this.disabled = false; }, setDisabled: function(val){ this.disabled = val; }, timer: function () { if (this.time > 0) { this.time--; setTimeout(this.timer, 1000); }else{ this.disabled = false; } } }, computed: { text: function () { return this.time > 0 ? this.time + 's 后重獲取' : '獲取驗證碼'; } } });
2、使用方式:
<timer-btn ref="timerbtn" class="btn btn-default" v-on:run="sendCode" :disabled="disabled" :second="60"></timer-btn>
disabled 建議不要綁定,我們可以通過調用組件的setDisabled方法來切換按鈕可用狀態;
second 初始值60s 沒特別值可以不綁定;
所以我們可以在HTML頁面這樣:
<timer-btn ref="timerbtn" class="btn btn-default" v-on:run="sendCode" ></timer-btn>
JS這樣:
var vm = new Vue({ el:'#app', methods:{ sendCode:function(){ vm.$refs.timerbtn.setDisabled(true); //設置按鈕不可用 hz.ajaxRequest("sys/sendCode?_"+$.now(),function(data){ if(data.status){ vm.$refs.timerbtn.start(); //啟動倒計時 }else{ vm.$refs.timerbtn.stop(); //停止倒計時 } }); }, } });
以上就是Vue 中怎么實現一個短信驗證碼組件,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注創新互聯網站建設公司行業資訊頻道。
另外有需要云服務器可以了解下創新互聯建站vcdvsql.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
文章名稱:Vue中怎么實現一個短信驗證碼組件-創新互聯
文章源于:http://vcdvsql.cn/article36/dsocsg.html
成都網站建設公司_創新互聯,為您提供云服務器、做網站、網站設計、外貿建站、網站改版、微信公眾號
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯