前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Vue2.0路由是否缓存的方法

Vue2.0路由是否缓存的方法

作者头像
用户7043603
发布2022-02-24 21:49:24
5880
发布2022-02-24 21:49:24
举报

1、在app中设置需要缓存的div

代码语言:javascript
复制
<keep-alive>//缓存的页面
   <router-view v-if="$route.meta.keepAlive"></router-view>
</keep-alive>
<router-view v-if="!$route.meta.keepAlive"></router-view>//不缓存的页面

2、在路由router.js中设置.vue页面是否需要缓存

代码语言:javascript
复制
{
   path: '/home',
   component: home,
   meta: { keepAlive: true },//当前的.vue文件需要缓存
},
{
   path: '/notice',
   component: notice,//当前页面不需要缓存
}

3、从缓存页面跳转到不缓存页面,或者从不缓存页面跳转到缓存页面的时候,会发现watch是不能监听路由的,是因为缓存和不缓存页面分别在不同的div里面,一个div里面是不可能监听到另一个div的路由的,所有需要把监听的路由都加上缓存(在路由添加 meta: { keepAlive: true }),路由在缓存页面之间进行跳转的时候,就可以通过监听路由来进行判断数据是否需要更新。 vue keep-alive 缓存后, 进入缓存页需要再次更新

代码语言:javascript
复制
beforeRouteEnter (to, from, next) {
  next (vm => {
     vm.getData()
  })
},
 mounted: function () {
   this.getData()
}

本文系转载,前往查看

如有侵权,请联系?cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系?cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com