vue3_keep-alive组件

keep-alive缓存组件

新建两个表单组件,Form1.vueForm2.vue,利用v-if控制切换,测试缓存效果

  • includeexclude 一个以英文逗号分隔的字符串、一个正则表达式,或是包含这两种类型的一个数组
  • includeexclude根据组件的 name 选项进行匹配;
  • 可以通过传入 max prop 来限制可被缓存的最大组件实例数;如果缓存的实例数量即将超过指定的那个最大数量,则最久没有被访问的缓存实例将被销毁,以便为新的实例腾出空间
<keep-alive :include="['Form1','Form2']" :exclude="['Form1']">
    <Form1 v-if="!flag"></Form1>
    <Form2 v-else></Form2>
</keep-alive>
//测试过程中发现了include失效的问题,在Form1.vue组件中加上下面内容解决
<script lang="ts">
   export default {
    name:"Form1"
  }

keep-alive的生命周期

 activated() {
    // 在首次挂载、
    // 以及每次从缓存中被重新插入的时候调用
  },
  deactivated() {
    // 在从 DOM 上移除、进入缓存
    // 以及组件卸载时调用
  }
  • activated 在组件挂载时也会调用,并且 deactivated 在组件卸载时也会调用。
  • 这两个钩子不仅适用于 缓存的根组件,也适用于缓存树中的后代组件。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值