30-vue-缓存路由组件对象

理解
  默认情况下,别切换的路由组件对象会死亡释放,再次回来时,就会被重新创建。
  为提高用户的体验感,可以设置 缓存路由组件对象。
 

作用
  保存用户上次操作的页面状态
 

代码示例
  在<router-view>外加上<keep-alive>

<keep-alive>
	<router-view><router-view>
<keep-alive>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue2 中,你可以使用 `keep-alive` 组件缓存指定的路由组件。`keep-alive` 组件可以缓存被包裹的组件的状态,以避免每次切换到该组件时都重新渲染。 要缓存指定的路由组件,你需要在路由配置中给该路由组件添加 `meta` 字段,然后在 `keep-alive` 组件中使用 `include` 或 `exclude` 属性来指定需要缓存路由组件。具体实现步骤如下: 1. 在路由配置中给需要缓存路由组件添加 `meta` 字段,例如: ```javascript const routes = [ { path: '/home', component: Home, meta: { keepAlive: true // 需要缓存组件 } }, { path: '/about', component: About } ] ``` 2. 在使用 `keep-alive` 组件的父组件中,使用 `include` 或 `exclude` 属性来指定需要缓存路由组件,例如: ```html <template> <div> <router-view v-slot="{ Component }"> <keep-alive :include="cachedViews"> <component :is="Component" /> </keep-alive> </router-view> </div> </template> <script> export default { computed: { cachedViews() { // 获取需要缓存路由组件 return this.$route.matched.filter(route => route.meta.keepAlive).map(route => route.component) } } } </script> ``` 在上面的例子中,`cachedViews` 计算属性返回了所有需要缓存路由组件,然后在 `keep-alive` 组件中使用了 `include` 属性来指定需要缓存路由组件。 如果你想排除某些路由组件,可以使用 `exclude` 属性来指定不需要缓存路由组件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值