keep-alive
keepalive是一个内置组件,里面的render方法会拿到它子组件节点中的的第一个,
然后缓存到一个对象中,
并且把
vnode.data.keepAlive设为true
这里的vnode是指keep-alive包裹的子组件
最后把vnode返回来
所以keep-alive 实际渲染的是它第一个子节点
第二次再去渲染的时候,就直接从缓存里拿了
总结:
·keep-alive组件是一个内置抽象组件,它的实现通过自定义render函数并且利用了插槽
·keep-alive组件的渲染分为首次渲染和缓存渲染,
当命中缓存,则不会在执行created和mounted钩子函数,而会执行activated钩子函数。
销毁时也不会执行destroyed钩子函数,而会执行deactivated钩子函数
对于已缓存的组件不会执行mounted ,但是提供了activated和deactivated函数