前段時間分享了 Android 原生實現驗證碼倒計時,地址是這裏,如今公司使用 Ionic 開發的 App 也要實現相似的功能,如今也記錄下來,供你們參考:css
首先介紹下與本文相關的概念 $intervaljava
$interval 是 window.setInterval 的 Angular 包裝形式,函數若是在沒有被取消的時候會無限執行。(取消使用 cancel(promise) )git
$interval(fn,delay,[count],[invokeApply],[Pass]);
複製代碼
參數說明:github
方法:promise
$scope.description = "獲取驗證碼";
var timerHandler = null;
/** * 倒計時 * @param time 控制循環次數 */
var countDown = function (second,time) {
timerHandler = $interval(function () {
if (second <= 0) {
$interval.cancel(timerHandler);
second = 59;
$scope.description = "獲取驗證碼";
} else {
$scope.description = second + "s 後可重發";
second--;
}
}, 1000, time)
}
複製代碼
countDown(59,60);
複製代碼
最後別忘了注入 $interval 。bash
- 個人博客:博客傳送門