解决vue-router 切换tab标签关闭时缓存问题


Posted in Javascript onJuly 22, 2020

在router入口页面加上 keepAlive: true // 需要被缓存 false则不需要

{
  path: 'fundProListG',
  component: resolve => require(['@/pages/product/fundPros/fundTab/fundTab.vue'], resolve),
  title: '基金首页',
  redirect: 'fundProListG/fundProListG',
  meta: {
  keepAlive: false // 不需要被缓存
  },
  children: [{
  path: 'fundProListG',
  component: resolve => require(['@/pages/product/fundPros/fundProListG.vue'], resolve),
  meta: {
  keepAlive: true // 需要被缓存
  }
  },{
  path: 'fungAdm',
  component: resolve => require(['@/pages/product/fundPros/fungAdm.vue'], resolve),
  meta: {
  keepAlive: true // 需要被缓存
  }
  }]
 },

App.vue (你在哪写的那个<router-view ></router-view>标签就在哪改动)

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

当点关闭标签的时候如果不想当前页面缓存 加上

解决vue-router 切换tab标签关闭时缓存问题

接着遇到了第一次缓存第二次改为false后打开不缓存了 在关闭标签页面 加上这个

解决vue-router 切换tab标签关闭时缓存问题

补充知识:解决通过vue-router打开tab页,下次进入还是上次history缓存的界面状态的问题

一、问题描述:

1. 跳转模式:界面A-->界面B(界面A中通过 this.$router.push({name:'组件B名称', params: {参数}}) 通过打开新tab页的方式打开界面B。)

2.关闭界面B,回到界面A

3.再次从A到B时,打开的界面B仍然是上次的状态,哪怕传递的参数不一样。

另:router声明如下

{
 path: 'demo/pageB',
 name: 'pageB',
 component: _import('demo/pageB'),
 meta: {
  requiresAuth: true,
  keepAlive: false, // 不需要被缓存
  title: '界面B'
 }
}

二、原因: 详见vue-router官网

解决vue-router 切换tab标签关闭时缓存问题

三、解决方式:在界面B离开时,销毁组件。代码如下:

// 导航离开该组件的对应路由时调用[可以访问组件实例 `this`]
beforeRouteLeave (to, from, next) {
 // 销毁组件,避免通过vue-router再次进入时,仍是上次的history缓存的状态
 this.$destroy(true)
 next()
}

更多beforeRouteLeave 详见官网

四、其它解决方式(未成功):

vue-router官网提供了 router.replace(location, onComplete?, onAbort?) 的方式,使得不向 history中新增记录,但是我未尝试成功,具体原因暂不知。

官网描述:

解决vue-router 切换tab标签关闭时缓存问题

我的写法:

this.$router.replace({name:'组件B名称', params: {参数}}, () => { this.warning('test!') }, () => { this.warning('test!') })

以上这篇解决vue-router 切换tab标签关闭时缓存问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Sample script that displays all of the users in a given SQL Server DB
Jun 16 Javascript
jquery tools 系列 scrollable学习
Sep 06 Javascript
brook javascript框架介绍
Oct 10 Javascript
jquery事件preventDefault()方法用法实例
Jan 16 Javascript
JavaScript 函数的执行过程
May 09 Javascript
D3.js实现饼状图的方法详解
Sep 21 Javascript
node.js实现复制文本到剪切板的功能
Jan 23 Javascript
vue 中filter的多种用法
Apr 26 Javascript
Vue编写可显示周和月模式的日历 Vue自定义日历内容的显示
Jun 26 Javascript
vue+django实现一对一聊天功能的实例代码
Jul 17 Javascript
从表单校验看JavaScript策略模式的使用详解
Oct 17 Javascript
vite+vue3.0+ts+element-plus快速搭建项目的实现
Jun 24 Vue.js
基于 Vue 的 Electron 项目搭建过程图文详解
Jul 22 #Javascript
浅谈JS for循环中使用break和continue的区别
Jul 21 #Javascript
解决vue 给window添加和移除resize事件遇到的坑
Jul 21 #Javascript
js实现带积分弹球小游戏
Jul 21 #Javascript
在vue中created、mounted等方法使用小结
Jul 21 #Javascript
解决vue的touchStart事件及click事件冲突问题
Jul 21 #Javascript
解决Vue 移动端点击出现300毫秒延迟的问题
Jul 21 #Javascript
You might like
SONY SRF-40W电路分析
2021/03/02 无线电
php获取参数的几种方法总结
2014/02/18 PHP
Laravel 读取 config 下的数据方法
2019/10/13 PHP
锋利的jQuery jQuery中的DOM操作
2010/03/21 Javascript
JQuery 拾色器插件发布-jquery.icolor.js
2010/10/20 Javascript
使用jquery与图片美化checkbox和radio控件的代码(打包下载)
2010/11/11 Javascript
ajax java 实现自动完成功能
2012/12/19 Javascript
JQuery页面图片切换和新闻列表滚动效果的具体实现
2013/09/26 Javascript
jQuery源码解读之hasClass()方法分析
2015/02/20 Javascript
jQuery+HTML5美女瀑布流布局实现方法
2015/09/21 Javascript
jquery获取复选框的值的简单实例
2016/05/26 Javascript
js判断复选框是否选中及选中个数的实现代码
2016/05/30 Javascript
解决同一页面中两个iframe互相调用jquery,js函数的方法
2016/12/12 Javascript
用move.js库实现百叶窗特效
2017/02/08 Javascript
详解Web使用webpack构建前端项目
2017/09/23 Javascript
Bootstrap3.3.7导航栏下拉菜单鼠标滑过展开效果
2017/10/31 Javascript
使用Python生成随机密码的示例分享
2016/02/18 Python
Python2/3中urllib库的一些常见用法
2017/12/19 Python
Tensorflow 自带可视化Tensorboard使用方法(附项目代码)
2018/02/10 Python
python将文本中的空格替换为换行的方法
2018/03/19 Python
Tensorflow实现多GPU并行方式
2020/02/03 Python
Python中生成ndarray实例讲解
2021/02/22 Python
意大利团购网站:Groupon意大利
2016/10/11 全球购物
爱他美官方海外旗舰店:Aptamil奶粉
2017/12/22 全球购物
DataReader和DataSet的异同
2014/12/31 面试题
电工技术比武方案
2014/05/11 职场文书
党课培训心得体会
2014/09/02 职场文书
私人委托书格式
2014/09/10 职场文书
施工安全保证书
2015/05/09 职场文书
入党介绍人意见2015
2015/06/01 职场文书
奥巴马开学演讲观后感
2015/06/12 职场文书
车辆挂靠协议书
2016/03/23 职场文书
浅谈Python数学建模之数据导入
2021/06/23 Python
sql通过日期判断年龄函数的示例代码
2021/07/16 SQL Server
python中使用 unittest.TestCase单元测试的用例详解
2021/08/30 Python
TV动画《八十龟酱观察日记》第四季宣传PV公布
2022/04/06 日漫