vue 手动停止计时器 clearInterval 不生效 请帮我看看

clipboard.png
倒计时正常运行了
点击按钮的时候 无法手动终止。。。

阅读 7.9k
3 个回答

哈哈。。。
看到大兄弟的此问题,不知道该说什么好。仔细检查一下mounted函数吧,你的this.timer自始至终都是null。

题外补充2点细节吧:
另外定时器标记是正整数,this.timer可以初始化为0。
setTimeout、setInterval共用标记池,也就是不会同时存在标记为某一正整数的一次定时器标记和循环定时器标记。

mounted let timer 改成 this.timer.
你的 timer 始终是 null, clear 不掉的.

我也再补充一个清除所有定时器的点吧。

已知

setTimeout、setInterval共用标记池

且值为累加

那么我们新创建一个setTimeout,得到标记,然后把从0到标记的都clear掉

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进