辉太郎看前端(keep-alive)

keep-alive

keep-alive的概念:keep-alive是vue提供给我们的一个动态组件,在路由转换时,缓存组件的状态。在页面渲染完毕后,不会被渲染成一个dom元素。

全局缓存

keep-aliverouter-view包裹起来。
<keep-alive>
     <router-view/>
</keep-alive>

注: 全局缓存是在app.vue中包裹router-view

局部缓存

app.vue中用if判断来判断是否缓存,写两个router-view
  • 在路由文件(router.js)中,设置要缓存的组件。
{
 path:'/路由名',
 name:'params引入名',
 component:组件路径,
 meta:{
 keepAlive:true,  //缓存
}
  • app.vue中用if语句来判断是否缓存,写两个router-view
//设置过meta属性的展示区,缓存展示区
<keep-alive>
     <router-view v-if="$route.meta.keepAlive"/>
</keep-alive>
//为不缓存的展示区域
<router-view v-if="!$route.meta.keepAlive"/>

注: 缓存内容一定要设置meta属性,在app.vue之外,如果还有展示区域,且是缓存组件的父级,记得也要用keep-alive包裹并判断是否缓存。

总结

有不合理的地方,望路过的各位多多指教。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值