在頁面A中設(shè)置一個(gè)定時(shí)器贫导,打印一個(gè)a,然后跳轉(zhuǎn)到B頁面,這個(gè)定時(shí)器還一直在執(zhí)行蟆盹,這樣是非常耗性能的孩灯。
解決思路:
使用Vue的$once這個(gè)事件偵聽器器在定義完定時(shí)器之后的位置來清除定時(shí)器
代碼:
const timer = setInterval(() =>{
// 某些定時(shí)器操作
}, 500);
// 通過$once來監(jiān)聽定時(shí)器,在beforeDestroy鉤子可以被清除逾滥。
this.$once('hook:beforeDestroy', () => {
clearInterval(timer);
})
類似于其他需要在當(dāng)前頁面使用峰档,離開需要銷毀的組件(例如一些第三方庫的picker組件等等),都可以使用此方式來解決離開后以后在背后運(yùn)行的問題寨昙。
參考來源:掘金社區(qū)