keep-alive
组件接受三个属性参数:
include、
exclude、
max
include
指定需要缓存的组件name
集合,参数格式支持String, RegExp, Array。
当为字符串的时候,多个组件名称以逗号隔开。exclude
指定不需要缓存的组件name
集合,参数格式和include一样。max
指定最多可缓存组件的数量,超过数量删除第一个。参数格式支持String、Number。
原理
keep-alive
实例会缓存对应组件的VNode
,如果命中缓存,直接从缓存对象返回对应VNode
LRU(Least recently used)
算法根据数据的历史访问记录来进行淘汰数据,其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高”。(墨菲定律:越担心的事情越会发生)