最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2020年07月21日 09:37:40   作者:前端小迷弟  
這篇文章主要介紹了解決vue 使用setTimeout,離開當前路由setTimeout未銷毀的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

問題:

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

原因:

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

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

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

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

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

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

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

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

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

但實際的運行結(jié)果是,只執(zhí)行了一遍,并沒有循環(huán)執(zhí)行。

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

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

于是我又改成這樣寫了,在寫個匿名函數(shù),函數(shù)體是我要執(zhí)行的。

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

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

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

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

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

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

最終

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

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

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

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

相關(guān)文章

  • vue項目實現(xiàn)中英文切換的詳細步驟

    vue項目實現(xiàn)中英文切換的詳細步驟

    這篇文章主要給大家介紹了關(guān)于vue項目實現(xiàn)中英文切換的詳細步驟,項目中經(jīng)常有中英文切換的功能,接下來就簡單實現(xiàn)以下這個功能,文中通過代碼介紹的非常詳細,需要的朋友可以參考
    2023-11-11
  • setTimeout在vue中的正確使用方式

    setTimeout在vue中的正確使用方式

    這篇文章主要介紹了setTimeout在vue中的正確使用方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • vue如何自定義InputNumber計數(shù)器組件

    vue如何自定義InputNumber計數(shù)器組件

    這篇文章主要介紹了vue如何自定義InputNumber計數(shù)器組件問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • Vue?全部生命周期組件梳理整理

    Vue?全部生命周期組件梳理整理

    這篇文章主要介紹了Vue?全部生命周期組件梳理整理,在創(chuàng)建組件之前使用;在實例初始化之后,進行數(shù)據(jù)偵聽和事件,偵聽器的配置之前同步調(diào)用
    2022-06-06
  • Vue中的change事件無效問題及解決

    Vue中的change事件無效問題及解決

    這篇文章主要介紹了Vue中的change事件無效問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • Vue + Webpack + Vue-loader學習教程之相關(guān)配置篇

    Vue + Webpack + Vue-loader學習教程之相關(guān)配置篇

    這篇文章主要介紹了關(guān)于Vue + Webpack + Vue-loader的相關(guān)配置篇,文中通過示例代碼介紹的非常詳細,相信對大家具有一定的參考價值,需要的朋友們下面來一起看看吧。
    2017-03-03
  • Vue導出excel的兩個常用方式介紹與對比

    Vue導出excel的兩個常用方式介紹與對比

    這篇文章主要為大家詳細介紹了Vue導出excel的兩個常用方式,分別為前端vue+XLSX導出excel和vue+后端POI?導出excel,感興趣的小伙伴可以了解下
    2025-01-01
  • vue項目打包之開發(fā)環(huán)境和部署環(huán)境的實現(xiàn)

    vue項目打包之開發(fā)環(huán)境和部署環(huán)境的實現(xiàn)

    這篇文章主要介紹了vue項目打包之開發(fā)環(huán)境和部署環(huán)境的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-04-04
  • vue實現(xiàn)百分比占比條效果

    vue實現(xiàn)百分比占比條效果

    這篇文章主要為大家詳細介紹了vue實現(xiàn)百分比占比條效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • vue中圖片加載不出來的問題及解決

    vue中圖片加載不出來的問題及解決

    這篇文章主要介紹了vue中圖片加載不出來的問題及解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03

最新評論

四会市| 宁强县| 元阳县| 抚松县| 江源县| 托克托县| 磐石市| 柳河县| 庄浪县| 台北县| 新源县| 上犹县| 新民市| 阳东县| 时尚| 宁乡县| 靖江市| 遂宁市| 体育| 上杭县| 乃东县| 河曲县| 宜春市| 华容县| 城步| 泰宁县| 璧山县| 定兴县| 平武县| 大姚县| 盈江县| 承德县| 扎赉特旗| 赤水市| 石屏县| 永靖县| 镇雄县| 方山县| 永清县| 天镇县| 仙居县|