Vue組件的生命周期分為8個階段,包括創(chuàng)建、更新、銷毀等。其中,activated 和 deactivated 是在 keep-alive 組件中使用的特殊生命周期,它們在組件被激活和失活時觸發(fā)。
在 keep-alive 組件中,當一個被緩存的組件再次被訪問時,它會被激活并調用 activated 方法。在這個方法中,可以進行一些數據的初始化操作,例如重新請求數據、打開定時器等。
export default {
activated() {
// 被緩存的組件重新激活時會調用此方法
this.fetchData() // 重新請求數據
this.timer = setInterval(() =>{
this.count++
}, 1000) // 打開一個定時器
}
}
當緩存的組件從頁面中移除或切換到其他路由時,它會被失活并調用 deactivated 方法。在這個方法中,可以進行一些清空數據或銷毀資源的操作,例如清空定時器、解除事件監(jiān)聽等。
export default {
deactivated() {
// 被緩存的組件失活時會調用此方法
clearInterval(this.timer) // 清除定時器
window.removeEventListener('scroll', this.handleScroll) // 解除事件監(jiān)聽
}
}
需要注意的是,activated 和 deactivated 只在 keep-alive 組件中使用,并且只有緩存的組件才會觸發(fā)這兩個生命周期方法。
上一篇mysql幾十萬的數據
下一篇vue if