vue 路由跳轉時如何清除掉頁面的定時器?


背景:當前列表需要隔5分鍾進行一次定時刷新;

問題: 沒有清除定時的話,進入其它頁面了,定時器依然執行;

解決辦法:使用組件內的守衛beforeRouteLeave;

 

data里面定義了一個變量

data(){ return { timedTasksCollector: null, } }

把定時器的任務定義在activated事件,這樣子,當清除定時后,下次再次進入當前路由的話,可以再次喚起定時器

activated() { this.timedTasksCollector = setInterval(() => { this.getNeedCollectLoanOrderList(); }, 300000); },

清除的方法

beforeRouteLeave(to, from, next){ next(); if (this.timedTasksCollector) { clearInterval(this.timedTasksCollector); this.timedTasksCollector = null; } },
beforeRouteLeave跟methods平行。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM