在vue项目中做一个发送验证码业务

在这里用了vueuse中的useIntervalFn方法官方文档

  • 发送验证码,需要校验手机号,和判断是否60秒内,方可发送。组件销毁时候清除定时器。
//先引入
import { useIntervalFn } from '@vueuse/core'
<span @click="send()" class="code">
  {{timer===0?'发送验证码':`${time}秒后发送`}}
</span>
// 倒计时
const timer = ref(0)
// 发送验证码倒计时
// useIntervalFn(定时的回调,回调的时间间隔,控制回调的调用方式)
// 参数三 {immediate: true, immediateCallback: false}
// 3-1) immediate 首次运行useIntervalFn函数时,是否立刻开启定时任务(默认值true表示默认开启)
// 3-2)immediateCallback 执行useIntervalFn函数立刻执行回调(在延时时间的前或者后调用),默认值是false,如果修改为true,表示为不延时,立刻启动定时任务(不要使用pause方法)
// pause暂停;resume启动
const { pause, resume } = useIntervalFn(() => {
    if (timer.value <= 0) {
        // 停止定时任务
        pause()
    } else {
        // 单次定时任务执行的回调
        timer.value--
    }
}, 1000, {
    // 默认不开启定时任务
    immediate: false
})
//点击了发送验证码
const send=()=>{
//如果倒计时还没结束,不执行下面的代码
if (timer.value > 0) return
 // 发送成功,进行倒计时
 timer.value = 60
 //开启定时器
  resume()
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值