1. keep-alive是什么
keep-alive 是 Vue 的内置组件,当它包裹动态组件时,会缓存不活动的组件实例,而不是销毁它们。
keep-alive 是一个抽象组件:它自身不会渲染成一个 DOM 元素,也不会出现在父组件链中。
2. keep-alive的优点
在组件切换过程中 把切换出去的组件保留在内存中,防止重复渲染DOM,
减少加载时间及性能消耗,提高用户体验性。
![](https://img-blog.csdnimg.cn/811c7a047b2248c0a84172b3fec37d61.png)
3.
keep-alive的
三个属性
① include : 组件名数组,只有匹配的组件会被缓存
② exclude : 组件名数组,任何匹配的组件都不会被缓存
③ max : 最多可以缓存多少组件实例
![](https://img-blog.csdnimg.cn/c50078a098cb45ae90a0391e819aa1f5.png)
4. keep-alive的使用会触发两个生命周期函数
activated 当组件
被激活(使用)
的时候触发 → 进入这个页面的时候触发
deactivated 当组件
不被使用
的时候触发 → 离开这个页面的时候触发
组件缓存后就不会执行组件的created, mounted, destroyed 等钩子了
所以其提供了
actived
和
deactived
钩子,帮我们实现业务需求。
![](https://img-blog.csdnimg.cn/a199016adf034f29b510dc55ed75f771.png)