VUE踩坑之旅_定時器&&基於原型鏈的簡單訂閱釋出

蘇水軒發表於2018-07-26

一個元件中定義的定時器 在銷燬了這個元件後依然存在 因為其依賴於window之中 

所以如果離開後不想要定時器,需要在鉤子destroyed處呼叫clearxxx函式清除定時器。


以及附加的一個專案需求 ,想要在頁面resize時觸發一些操作,比如其中圖表的縮放chart.setOption(this.$pro, this.optionObj); chart.resize();

使用最原始的陣列方式無腦push實現的。沒有物件。

出現了離開元件重新進入後陣列的重疊尋報錯問題。

在路由守衛beforeRouteLeave中使用 this.$notice.splice(0 ,length)實現重置。


因為不想要用vuex加watch來觸發,所以就使用了這種方式,在main.js(扔到別的地方也行,抽出去也行)處釋出(遍歷),在各個元件中通過對原型訪問直接找到$notice陣列進行push訂閱。



相關文章