<keep-alive>是 Vue 内置的一个组件,可以使被包含的组件保留状态,或避免重新渲染。可以使用生命周期函数created来验证是否被包含的组件不重新渲染(即不重新created)。
<template>
<keep-alive>
<home></home>
</keep-alive>
</template>
说明:事实证明,Home组件只被渲染了一次。
<router-view>也是一个组件,如果直接被包在 keep-alive 里面,所有路径匹配到的视图组件(Home、About、Profile等等组件)都会被缓存:
另外,它们有两个非常重要的属性:
include:字符串或正则表达,只有匹配的组件会被缓存;
exclude:字符串或正则表达式,任何匹配的组件都不会被缓存。
可以使用exclude指定不需要进行缓存的组件,即每次都重新渲染。
而多个排除需要使用逗号进行隔开: