<keep-alive>是 Vue 內置的一個組件,可以使被包含的組件保留狀態,或避免重新渲染。可以使用生命週期函數created來驗證是否被包含的組件不重新渲染(即不重新created)。
<template>
<keep-alive>
<home></home>
</keep-alive>
</template>
說明:事實證明,Home組件只被渲染了一次。
<router-view>也是一個組件,如果直接被包在 keep-alive 裏面,所有路徑匹配到的視圖組件(Home、About、Profile等等組件)都會被緩存:
另外,它們有兩個非常重要的屬性:
include:字符串或正則表達,只有匹配的組件會被緩存;
exclude:字符串或正則表達式,任何匹配的組件都不會被緩存。
可以使用exclude指定不需要進行緩存的組件,即每次都重新渲染。
而多個排除需要使用逗號進行隔開: