学习--keep-alive

组件缓存使用

是vue提供的一个全局组件 vue原生自带 用来缓存组件。

vue组件是有销毁机制的,比如条件渲染,路由跳转时,组件都会经历销毁,再次回到页面时,又会回到重生。这一过程保证了生命周期钩子函数各个过程都会在这一生命周期中执行。

用keep-alive包裹想要缓存的组件实例,组件创建之后,就不会再进行销毁,组件数据和状态得以保存。没有销毁,也就失去了重生,失去了原有的钩子函数,所以keep-alive包裹的组件 都获取了另外的两个时间--如果缓存组件需要重新获取数据。

唤醒 activated 重新唤醒休眠组件实例时 执行

休眠deactivated组件 实例进入休眠状态时执行

但我们不能缓存所有的组件实例,如果是针对 组件容器router-view进行缓存,一般的策略是在路由的元信息meta对象中设置是否缓存的标记,然后根据标记决定是否进行缓存。

在路由.js文件中,meta标识符,也是路由配置里面可以写的,他可以用来判断一些操作

在App.vue文件中

<div id="app">
    <keep-alive>
        里面是当需要缓存时,显示组件的router-view
        <router-view v-if="$route.meta.isAlive" />
    </keep-alive>

        外面是不需要缓存时
        <router-view v-if="!$route.meta.isAlive" />

</div>

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值