原理:“keep-alive是Vue.js的一个内置组件。它会缓存不活动的组件实例,而不是直接将其销毁,它是一个抽象组件,不会被渲染到真实DOM中,也不会出现在父组件链中。
性能:会在性能上对客户端和服务器端性能上有一定的提升。很好理解的是少了TCP的三次握手和四次挥手,第二次传递数据就可以通过前一个连接直接进行数据交互了。当然会提升服务性能了。
用法:直接当做标签使用,能够保存页面/组件的状态,它还可以避免组件反复创建和渲染,有效提升系统性能。总的来说, keep-alive用于保存组件的渲染状态。
在组件中的应用:
<keep-alive>
<component :is="变量"></component>
</keep-alive>
在页面中的应用:
1,include
定义缓存白名单,keep-alive会缓存命中的组件;exclude
定义缓存黑名单,被命中的组件将不会被缓存;max
定义缓存组件上限,超出上限LRU的策略使用
置换缓存数据。
2.元数据方式;在路由页面和path,name同级配置meta,配置noneedCache:true;
在app.vue页面,配置 做出区分
在vue的生命周期中他有两个钩子函数:activated,deactivated
当组件被激活时,触发钩子函数 activated,
当组件被移除时,触发钩子函数 deactivated