當點擊一個路由跳轉時,當前組件就會有一個生命周期,當組件不處於路由活躍狀態時就會銷毀(死亡),當點回來又會重新創建一個新的組件。
keep-alive是vue內置的一個組件。而router-view是router-view的內置組件
當router-view被包裹在keep-alive里面,當前組件處於不活躍狀態時不會銷毀,和頻發的創建。避免重新渲染
- 當使用keep-alive時可以使用兩個鈎子函數 activated /deactivated
- keep-alive 有兩個重要的屬性:
- include:字符串或正則表達式,只有匹配的組件才會被緩存
- exclude:字符串或正則表達式,任何匹配的組件都不會被緩存
- router-view如果直接被包到keep-alive里面,所有的匹配到的組件都會被緩存