色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

解決vue 使用setTimeout,離開當前路由setTimeout未銷毀的問題

瀏覽:107日期:2023-01-02 08:44:01

問題:

從第一個頁面跳轉到第二個頁面后,如果停留在第二個頁面,定時器還在運行。如果在兩個頁面之間來回跳轉,跳轉時間小于定時器的間隔時間時,也會出現重復創建setTimeout的情況。

原因:

當我們刷新頁面時,會將當前頁面之前創建的setTimeout以及其他定時器都清除掉,但是僅僅是路由切換是不會清除的。

data () { return { ct: null }},methods: { start() { this.ct= setTimeout( () => {that.countdown(end)}, 1000) } end() { clearTimeout(this.ct); //清除 }}

setInterval()計時也需要clearInterval()來清除

補充知識:小記VUE下setTimeOut和setInterval遇到的問題

相信大家對著兩個函數都陌生,就是一個定時器,setTimeOut只執行一次,而setInterval會重復執行

需要注意的是:在setInterval不用的時候一定要用clearSetInterval關閉定時器。

說一下最近開發中遇到的問題,我是用vue開發的,順便記錄這個錯誤。

我需要輪詢接口,所以使用setInterval。

// 我是想沒2秒執行一次myFunc這個函數。setInterval(this.myFunc(),2000)//某個函數myFunc () { console.log(123)}

但實際的運行結果是,只執行了一遍,并沒有循環執行。

原因是setInterval接受兩個參數,第一個為要執行的函數,第二個為時間(毫秒)。

這里我犯的錯誤是,我寫的是一個函數的執行this.myFunc() 因為加了()是一個執行,而不是個函數。

于是我又改成這樣寫了,在寫個匿名函數,函數體是我要執行的。

setInterval(function () { this.myFunc()},2000)//某個函數myFunc () { console.log(123)}

理論上這樣是沒問題的,會每2秒執行一次this.myFunc(),但卻報錯了。

原因是 老生常談的javaScript 的this 的問題。

因為用的一個function(){} 這里的 獨立的作用域 this指向了全局(這里是window)而且window里沒有myFunc這個函數,所報了錯。

用過vue的朋友應該,基本vue中都是this.XXX這樣寫。這里的this是Vue對象。

所以為了使this正確指向vue,我用了ES6的尖頭函數。

最終

setInterval(() => { this.myFunc()},2000)//某個函數myFunc () { console.log(123)}

尖頭函數因為它的特殊性,它的this指向它外層的對象。

其實主要說的是第二個問題,第一個屬于對函數不熟悉,第二個則是VUE,ES6,this指向綜合的問題。

以上這篇解決vue 使用setTimeout,離開當前路由setTimeout未銷毀的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Vue
主站蜘蛛池模板: 在线成人精品国产区免费 | 成人亚洲天堂 | 国产综合第一页 | 日韩欧美成人乱码一在线 | 国产成人aa在线视频 | 老司机午夜性生免费福利 | 男女视频在线观看免费高清观看 | 成人免费网站久久久 | 欧美成人h精品网站 | 三级c欧美做人爱视频 | 久久免费精品视频在线观看 | 黄在线看 | 18视频在线观看 | 97视频在线免费播放 | 日韩 国产 欧美 精品 在线 | 国内精品久久久久久久久 | 欧美大尺度aaa级毛片 | 日韩久久影院 | 亚洲国产精品成人午夜在线观看 | 黄影院 | 久久精品国产亚洲精品2020 | 日韩在线视屏 | 99久久综合国产精品免费 | 手机在线播放视频 | 一级国产在线观看高清 | 69国产成人综合久久精品91 | 成人欧美一区二区三区在线 | 亚洲综合色就色手机在线观看 | 日本精品久久久久久久久免费 | 黄色大片三级 | 男操女视频 | 欧美一级毛片欧美一级成人毛片 | 日韩色吧 | 波多野结衣一区二区 三区 波多野结衣一区二区三区88 | 制服诱惑中文字幕 | 一色屋色费精品视频在线看 | 美女一级毛片毛片在线播放 | 日韩三级在线观看视频 | 高清免费国产在线观看 | 欧美日韩高清不卡一区二区三区 | 国内视频一区 |