解決vue組件銷毀之后計(jì)時(shí)器繼續(xù)執(zhí)行的問題
直接上代碼,以下
window.setTimeout(function(){ if(this && !this._isDestroyed){ //_isDestroyed 組件是否被銷毀 return; } window.location.href = 'http://www.intensediesel.com/serverMonitor?t='+ new Date().getTime();},5000)
很粗暴的方法,在執(zhí)行之前看是否被銷毀就行,
第二種方法,調(diào)用路由組件內(nèi)的鉤子函數(shù)beforeRouteLeave
beforeRouteLeave(to,from,next){clearTimeout(window.timer);next();}
補(bǔ)充知識(shí):vue銷毀時(shí)事件,created和mounted&&activated的區(qū)別
我就廢話不多說了,大家還是直接看代碼吧~
// 關(guān)閉當(dāng)前頁面就會(huì)銷毀監(jiān)聽事件(checkpay)destroyed() { clearInterval(this.checkpay)}created()在創(chuàng)建vue對(duì)象時(shí),在html渲染之前就觸發(fā);但是注意created()只會(huì)觸發(fā)一次; mounted()在html渲染完成之后才會(huì)執(zhí)行的; activated()進(jìn)入當(dāng)前存在activated()函數(shù)的頁面時(shí),一進(jìn)入頁面就觸發(fā);可用于初始化頁面數(shù)據(jù)等
以上這篇解決vue組件銷毀之后計(jì)時(shí)器繼續(xù)執(zhí)行的問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. django queryset相加和篩選教程2. 利用ajax+php實(shí)現(xiàn)商品價(jià)格計(jì)算3. Java實(shí)現(xiàn)的迷宮游戲4. idea設(shè)置提示不區(qū)分大小寫的方法5. JS圖片懶加載庫VueLazyLoad詳解6. Java利用TCP協(xié)議實(shí)現(xiàn)客戶端與服務(wù)器通信(附通信源碼)7. 使用AJAX(包含正則表達(dá)式)驗(yàn)證用戶登錄的步驟8. Java PreparedStatement用法詳解9. Spring如何集成ibatis項(xiàng)目并實(shí)現(xiàn)dao層基類封裝10. IDEA 2020.1.2 安裝教程附破解教程詳解

網(wǎng)公網(wǎng)安備