vue3.0 vue-router4.0 keep-alive保存当前页面数据的正确写法

版本1
@vue/cli 4.4.1
“vue”: “^2.6.11”,
“vue-router”: “^3.2.0”,

<keep-alive>
   <router-view v-if="$route.meta.alive"></router-view>
 </keep-alive>

版本2
@vue/cli 4.2.0
“vue”: “^2.6.11”
“vue-router”: “^3.1.5”

<template v-if="$route.meta.alive">
          <router-view keep-alive />
        </template>
        <template v-else>
          <router-view />
        </template>

版本3
@vue/cli 4.5.4
“vue”: “^3.0.0-0”
“vue-router”: “^4.0.0-0”
上面的写法会报错:
<router-view> can no longer be used directly inside <transition> or <keep-alive>


<router-view v-slot="{ Component }">
    <keep-alive include="Home,News">
      <component class="view" :is="Component" />
    </keep-alive>
  </router-view>

附上demo


demo更新:

  • 嵌套缓存路由
  • 动态缓存路由增减
  • 过渡动画
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值