https://segmentfault.com/a/1190000011978825

keep-alive组件有includeexclude两个属性,可以传入数组,数组包含组件的名字。渲染后可以缓存组件实例

keep-alive组件给子组件两个生命周期钩子:activateddeactivated,只会调用一次created方法。 keep-alive组件的render函数实现

  • 获取子组件的名称(或者tagname),如果不符合匹配规则,直接返回子组件的vnode
  • 如果符合规则,则看缓存中有没有组件的实例
    • 如果有缓存,则把缓存的组件实例componentInstance赋值到组件的vnode.componentInstance
    • 没有缓存,则根据子组件vnode的key,把vnode.componentInstance存在缓存里