解決vue組件銷毀之后計(jì)時(shí)器繼續(xù)執(zhí)行的問題
直接上代碼,以下
window.setTimeout(function(){ if(this && !this._isDestroyed){ //_isDestroyed 組件是否被銷毀 return; } window.location.href = 'http://www.lshqa.cn/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)前頁(yè)面就會(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ù)的頁(yè)面時(shí),一進(jìn)入頁(yè)面就觸發(fā);可用于初始化頁(yè)面數(shù)據(jù)等
以上這篇解決vue組件銷毀之后計(jì)時(shí)器繼續(xù)執(zhí)行的問題就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. XML入門的常見問題(一)2. html小技巧之td,div標(biāo)簽里內(nèi)容不換行3. XML入門精解之結(jié)構(gòu)與語(yǔ)法4. css進(jìn)階學(xué)習(xí) 選擇符5. 概述IE和SQL2k開發(fā)一個(gè)XML聊天程序6. HTML DOM setInterval和clearInterval方法案例詳解7. 告別AJAX實(shí)現(xiàn)無刷新提交表單8. 使用css實(shí)現(xiàn)全兼容tooltip提示框9. 低版本IE正常運(yùn)行HTML5+CSS3網(wǎng)站的3種解決方案10. ASP刪除img標(biāo)簽的style屬性只保留src的正則函數(shù)
