vue自带组件keep-alive多层嵌套问题

当我从A页面跳到B页面时需要返回A页面不刷新,可以设置A路由的meta={keepAlive:true},B路由的meta={keepAlive:false}实现。
但是当我需要从A跳到B然后再跳到C,之后C返回B没有问题,但是B返回A的时候A页面刷新了,这个应该怎么解决?

阅读 2.5k
1 个回答

可以借助<keep-alive>includeexclude属性结合路由监听来实现

<keep-alive :include="includeList" :exclude="excludeList">
      <router-view></router-view>
</keep-alive>

监听$route对象,当$route.meta.keepAlivetrue时,将对应的$route.name加入至includeList内,注意路由页面的name应与路由的name相同,<keep-alive>本质监听的是组件,因此路由页面对应的.vue文件应该有name

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题