<keep-alive>
是Vue.js的內置組件。它用于緩存具有相同組件樹的組件。當組件使用<keep-alive>
包裹時,組件不會被銷毀,而是會緩存到內存中,等到下次再次渲染時,直接使用緩存中的組件實例。
<keep-alive>
有以下幾個用法:
- 使用
include
指定需要緩存的組件名稱,例如:<keep-alive include="ComponentA, ComponentB">
; - 使用
exclude
指定不需要緩存的組件名稱,例如:<keep-alive exclude="ComponentC, ComponentD">
; - 使用
max
指定最多緩存多少個組件實例,例如:<keep-alive :max="10">
; - 使用
include
和exclude
都省略時,<keep-alive>
會緩存所有組件實例。
<keep-alive>
的作用:
- 優化組件的性能。當組件需要頻繁切換時,使用
<keep-alive>
可以避免重復渲染,提高性能; - 在切換過程中保留組件的狀態。在切換過程中,使用
<keep-alive>
可以保留組件的狀態,避免重新渲染導致數據丟失。 - 緩存動態組件。當組件需要動態加載時,使用
<keep-alive>
可以緩存動態組件的實例,提高加載速度。