解决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 相关文章推荐
IE autocomplete internet explorer's autocomplete
Jun 30 Javascript
jQuery技巧总结
Jan 01 Javascript
javaScript同意等待代码实现心得
Jan 01 Javascript
JS实现鼠标单击与双击事件共存
Mar 08 Javascript
JavaScript高级教程5.6之基本包装类型(详细)
Nov 23 Javascript
json对象转为字符串,当做参数传递时加密解密的实现方法
Jun 29 Javascript
Bootstrap编写一个兼容主流浏览器的受众巨幕式风格页面
Jul 01 Javascript
jQuery EasyUI ProgressBar进度条组件
Feb 28 Javascript
vue 左滑删除功能的示例代码
Jan 28 Javascript
Vue实现表格批量审核功能实例代码
May 28 Javascript
JavaScript中的ES6 Proxy的具体使用
Jun 16 Javascript
使用Vue生成动态表单
Nov 26 Javascript
基于 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
thinkphp3.2.2实现生成多张缩略图的方法
2014/12/19 PHP
基于Swoole实现PHP与websocket聊天室
2016/08/03 PHP
PHP strcmp()和strcasecmp()的区别实例
2016/11/05 PHP
php发送http请求的常用方法分析
2016/11/08 PHP
PHP利用百度ai实现文本和图片审核
2019/05/08 PHP
PHP设计模式之数据访问对象模式(DAO)原理与用法实例分析
2019/12/12 PHP
javascript实现表单提交后,提交按钮不可用的方法
2015/04/18 Javascript
jQuery EasyUI实现右键菜单变灰不可用效果
2015/09/24 Javascript
解决jquery插件:TypeError:$.browser is undefined报错的方法
2015/11/21 Javascript
ArtEditor富文本编辑器增加表单提交功能
2016/04/18 Javascript
JavaScript Math 对象常用方法总结
2016/04/28 Javascript
Vue.js原理分析之observer模块详解
2017/02/17 Javascript
canvas绘制爱心的几种方法总结(推荐)
2017/10/31 Javascript
Node.js搭建WEB服务器的示例代码
2018/08/15 Javascript
判断文字超过2行添加展开按钮,未超过则不显示,溢出部分显示省略号
2019/04/28 Javascript
[00:20]TI9不朽观赛名额抽取
2019/08/05 DOTA
Python脚本实现格式化css文件
2015/04/08 Python
用Python脚本来删除指定容量以上的文件的教程
2015/05/04 Python
将Python代码嵌入C++程序进行编写的实例
2015/07/31 Python
Python 多核并行计算的示例代码
2017/11/07 Python
python实现将一维列表转换为多维列表(numpy+reshape)
2019/11/29 Python
基于Python和PyYAML读取yaml配置文件数据
2020/01/13 Python
django admin管理工具自定义时间区间筛选器DateRangeFilter介绍
2020/05/19 Python
详解html5页面 rem 布局适配方法
2018/01/12 HTML / CSS
凯特方迪化妆品官网:Kat Von D Beauty
2016/11/15 全球购物
统计系教授推荐信
2014/02/28 职场文书
和睦家庭事迹
2014/05/14 职场文书
老干部工作先进事迹
2014/08/17 职场文书
2014年档案管理工作总结
2014/11/17 职场文书
2014年纠风工作总结
2014/12/08 职场文书
自荐信格式模板
2015/03/27 职场文书
体育部部长竞选稿
2015/11/21 职场文书
Python中22个万用公式的小结
2021/07/21 Python
Mysql数据库手动及定时备份步骤
2021/11/07 MySQL
「我的青春恋爱物语果然有问题。-妄言录-」第20卷封面公开
2022/03/21 日漫
Linux安装Docker详细教程
2022/07/07 Servers