在vue项目中经常遇到使用setinterval定时器事件,但是在页面关闭或者刷新时需要进行定期清除,但是经常会遇到clearinterval来清除定期无法清除的问题。

有的说把单纯的setinterval和clearintervar 

改为

windows.setinterval和window.clearinter即可解决,但对于我目前而言,确还是无法清除,这是怎么回事呢?

经过尝试,发现是this指针问题,从console来看,生成interval id确实也是正确的,

但是通过window.clearinterval(this.timer)还是无法解决,但是

通过改为

var timer = window.setinterval =>(func,1000)

window.clearinterval即可完美解决。

至于为什么会造成这样的问题,还待排查,待解决中.........

Logo

前往低代码交流专区

更多推荐