解决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 相关文章推荐
js select实现省市区联动选择
Apr 17 Javascript
jquery  实现轮播图详解及实例代码
Oct 12 Javascript
利用jQuery实现滑动开关按钮效果(附demo源码下载)
Feb 07 Javascript
ES6新特性二:Iterator(遍历器)和for-of循环详解
Apr 20 Javascript
vue实现百度搜索下拉提示功能实例
Jun 14 Javascript
JS库之Three.js 简易入门教程(详解之一)
Sep 13 Javascript
jQuery ajax调用webservice注意事项
Oct 08 jQuery
解决Vue2.0中使用less给元素添加背景图片出现的问题
Sep 03 Javascript
React Hooks的深入理解与使用
Nov 12 Javascript
vue 实现左右拖拽元素并且不超过他的父元素的宽度
Nov 30 Javascript
JavaScript 常见的继承方式汇总
Sep 17 Javascript
vue实现滑动解锁功能
Mar 03 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
在同一窗体中使用PHP来处理多个提交任务
2006/10/09 PHP
基于mysql的论坛(4)
2006/10/09 PHP
用PHP ob_start()控制浏览器cache、生成html实现代码
2010/02/16 PHP
php报表之jpgraph柱状图实例代码
2011/08/22 PHP
PHP面向对象学习笔记之二 生成对象的设计模式
2012/10/06 PHP
基于python发送邮件的乱码问题的解决办法
2013/04/25 PHP
WordPress的文章自动添加关键词及关键词的SEO优化
2016/03/01 PHP
Bootstrap+PHP实现多图上传功能实例详解
2018/04/08 PHP
jQuery 前的按键判断代码
2010/03/19 Javascript
一些经常会用到的Javascript检测函数
2010/05/31 Javascript
js中函数声明与函数表达式
2015/06/03 Javascript
javascript实现的上下无缝滚动效果
2016/09/19 Javascript
vue购物车插件编写代码
2017/11/27 Javascript
JS实现的视频弹幕效果示例
2018/08/17 Javascript
swiper实现异形轮播效果
2019/11/28 Javascript
JavaScript实现点击切换验证码及校验
2021/01/10 Javascript
Python中的CURL PycURL使用例子
2014/06/01 Python
使用C语言来扩展Python程序和Zope服务器的教程
2015/04/14 Python
Java多线程编程中ThreadLocal类的用法及深入
2016/06/21 Python
python 编写简单网页服务器的实例
2018/06/01 Python
pyshp创建shp点文件的方法
2018/12/31 Python
Python使用sklearn实现的各种回归算法示例
2019/07/04 Python
python PyAutoGUI 模拟鼠标键盘操作和截屏功能
2019/08/04 Python
django之自定义软删除Model的方法
2019/08/14 Python
django和flask哪个值得研究学习
2020/07/31 Python
浅谈cookie和localStorage那些事
2019/08/27 HTML / CSS
什么是三层交换,说说和路由的区别在那里
2014/09/01 面试题
什么是Remote Module
2016/06/10 面试题
一年级小学生评语
2014/04/22 职场文书
党员四风自我剖析材料思想汇报
2014/09/13 职场文书
2014年“四风”问题个人整改措施
2014/09/17 职场文书
2015届本科毕业生自我鉴定
2014/09/27 职场文书
2015共产党员公开承诺书
2015/01/22 职场文书
客服专员岗位职责范本
2015/04/07 职场文书
行政经理岗位职责
2015/04/15 职场文书
2015年小学语文教学工作总结
2015/05/25 职场文书