原理
keep-alive
是Vue
提供的一个抽象组件,主要用于保留组件状态或避免重新渲染。
关于keep-alive
1. 基本使用
1 | <keep-alive> |
2. 有条件缓存
keep-alive提供了include、exclude、max三个参数,前两个允许组件有条件的进行缓存,两者都可以接受字符串、正则、数组形式;max表示最多可以缓存多少个组件,接受一个number类型。
1 | <keep-alive include="a,b"> |
生命周期钩子
生命钩子 keep-alive提供了两个生命钩子,分别是 activated
与 deactivated
。
因为keep-alive会将组件保存在内存中,并不会销毁以及重新创建,所以不会重新调用组件的created等方法,需要用 activated
与 deactivated
这两个生命钩子来得知当前组件是否处于活动状态。