1. 程式人生 > 實用技巧 >使用定時器和echart切換路由頁面時報錯 -主要針對定時器設定後的頁面切換呼叫

使用定時器和echart切換路由頁面時報錯 -主要針對定時器設定後的頁面切換呼叫

報錯資訊:

Uncaught (in promise) TypeError: Cannot read property 'getAttribute' of null
at Object.getAttribute

原因:開啟定時器後,切換頁面定時器沒有銷燬,繼續按照時間來呼叫定時器內的方法獲取不到echart的初始化

解決:在鉤子函式銷燬階段清除定時器-beforeDestroy

        beforeDestroy(){//轉換時候清空定時器
            console.log('儀表盤轉元件:開始清除定時器')
            window.clearInterval(
this.timer); }

每次切換路由頁面時beforedestroy都會呼叫,換句話說每次切換當前頁面都會被銷燬

也就是說:

        beforeDestroy() {
            console.log('beforedestroy')//切換元件檔案時候不會被呼叫 - 切換路由配置頁面時候每次都會呼叫
        },
        destroyed() {
            console.log('destroyed')//切換元件檔案時候不會被呼叫 -  切換路由配置頁面時候每次都會呼叫
        }

通常可以在這裡做類似清除定時器等操作