Page({
data: {
smstxt:'获取'
},
sendonesms:function(){
var that = this;
if( wait == 0){
this.setData({
smstxt:'获取'
})
wait = 60;
}else{
this.setData({
smstxt:wait.toString()
})
wait--;
setTimeout(function() {
that.sendonesms
}, 1000)
}
}
)}
点击之后,就变成60,就不倒计时了,怎么回事啊。哪里写错了,感觉没错啊。
<label bindtap="sendonesms">{{smstxt}}label>
用setInterval
看不出
setTimeout setInterval
弄一个 [ 能复现问题的简单的 ] 代码片段,我帮你看看
https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html
请学会如何「提问」(👈戳我)、【个体工商户】微信认证问题(👈戳我)
点击获取验证码的函数
let time = 60;
let timer = setInterval(() => {
time--;
if (time > 0) {
that.setData({
codeTxt: time + 's',
IsDisAbled: false,//不可点击
})
} else {
that.setData({
codeTxt: '再次获取验证码',
IsDisAbled: true//可点击
})
clearInterval(timer);
}
}, 1000);
wait是全局变量,在最上面