一、keep-alive组件: 缓存组件
作用:
可以让组件保留状态,避免重新渲染,提升页面性能
二、举例:
在tab切换中,切换三个组件,不用keep-alive,每个组件在重新显示时,都会再执行created,并重复发起请求
如何在外面包裹keep-alive, 则初次创建后会缓存组件,再次显示,不会再执行created,而是直接显示缓存的内容,不会再重复发起请求
三、使用keep-alive后,缓存组件会多两个生命周期钩子:
activated(){
console.log('a-当缓存组件被激活时');
},
deactivated(){
console.log('a-当缓存组件失活时');
}
四、keep-alive有两个属性: include exclude
<keep-alive include="a1"> 只有a1被缓存,a1是组件的name属性的值
<keep-alive exclude="a1"> 只有a1没有被缓存
五、实例:
参考vue-app各阶段项目代码-----21-0401-keep-alive缓存组件在项目中的使用(component组件-动态路由组件)
六、
**** 在动态路由的出口 <router-view>上使用keep-alive的技巧
如果不用keep-alive,会重复发起请求
使用的步骤:
(1) 在动态路由组件内部的created中发起ajax请求
(2) 设置key值
<keep-alive>
<router-view :key="$route.fullPath"></router-view>
</keep-alive>
网友评论