keep-alive是一个抽象组件,用于保存组件的渲染状态,通过keep-alive组件包裹的组件,不活动的组件会被缓存下来,而不是销毁他们。
属性:
-
include:定义缓存白名单,keep-alive会缓存命中的组件
-
exclude: 定义缓存黑名单,被命中的组件不会被缓存
-
max: 定义缓存组件的上,超出使用LRU的策略置换缓存数据
LRU:内存管理的一种页面置换算法,对于在内存中但又不用是数据块(内存块)叫做LRU,操作系统会根据LRU腾出空间加载所需的数据
有activated和deactivated两个生命函数。
页面第一次进入,钩子会触发created-> mounted-> activated,退出时触发deactivated。
再次进入只会触发activated
事件挂载,只执行一次的放在mounted,每次进去都执行的放在activated