在正常的 Vue 渲染逻辑中,当你切换路由或动态组件时,旧组件会被销毁(Unmount),新组件会被挂载(Mount)。
这会带来两个显著问题:
keep-alive 缓存 组件实例(VNode)。
当组件被“销毁”时,它并不会真正从内存中被垃圾回收,而是被移动到一个隐藏的容器中。它保存了以下内容:
1.包裹动态组件
2.配合属性精细化控制 若不想缓存所有的组件,有三个关键参数:
3.路由级别使用
// vue3
<router-view v-slot="{ Component }">
<keep-alive>
<component :is="Component" />
</keep-alive>
</router-view>待补充
