解决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 相关文章推荐
jquery统计复选框选中示例
Nov 05 Javascript
实现网页页面跳转的几种方法(meta标签、js实现、php实现)
May 20 Javascript
jquery实现将获取的颜色值转换为十六进制形式的方法
Dec 20 Javascript
javascript用函数实现对象的方法
May 14 Javascript
3个可以改善用户体验的AngularJS指令介绍
Jun 18 Javascript
Bootstrap实现默认导航栏效果
Sep 21 Javascript
详解Html a标签中href和onclick用法、区别、优先级别
Jan 16 Javascript
详解一个小实例理解js原型和继承
Apr 24 Javascript
详解ES6 export default 和 import语句中的解构赋值
May 28 Javascript
简单了解TypeScript中如何继承 Error 类
Jun 21 Javascript
Layui数据表格判断编辑输入的值,是否为我需要的类型详解
Oct 26 Javascript
JS几个常用的函数和对象定义与用法示例
Jan 15 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
介绍几个array库的新函数 php
2006/12/29 PHP
PHP获取毫秒级时间戳的方法
2015/04/15 PHP
php pdo连接数据库操作示例
2019/11/18 PHP
jBox 2.3基于jquery的最新多功能对话框插件 常见使用问题解答
2011/11/10 Javascript
Jquery上传插件 uploadify v3.1使用说明
2012/06/18 Javascript
jquery实现图片渐变切换兼容ie6/Chrome/Firefox
2013/08/02 Javascript
JavaScript精炼之构造函数 Constructor及Constructor属性详解
2015/11/05 Javascript
如何在Angular.JS中接收并下载PDF
2016/11/26 Javascript
在 Node.js 中使用 async 函数的方法
2017/11/17 Javascript
微信小程序实现下载进度条的方法
2017/12/08 Javascript
jquery在启动页面时,自动加载数据的实例
2018/01/22 jQuery
vue组件实现进度条效果
2018/06/06 Javascript
微信小程序实现两边小中间大的轮播效果的示例代码
2018/12/07 Javascript
详解async/await 异步应用的常用场景
2019/05/13 Javascript
vue axios重复点击取消上一次请求封装的方法
2019/06/19 Javascript
Element中Slider滑块的具体使用
2020/07/29 Javascript
vue使用video插件vue-video-player的示例
2020/10/03 Javascript
跟老齐学Python之永远强大的函数
2014/09/14 Python
python实现搜索本地文件信息写入文件的方法
2016/02/22 Python
Python插件virtualenv搭建虚拟环境
2017/11/20 Python
Python PyQt5模块实现窗口GUI界面代码实例
2020/05/12 Python
基于python 取余问题(%)详解
2020/06/03 Python
Python3爬虫里关于Splash负载均衡配置详解
2020/07/10 Python
python空元组在all中返回结果详解
2020/12/15 Python
Python tkinter之ComboBox(下拉框)的使用简介
2021/02/05 Python
好药师网上药店:安全合法的网上药品零售药房
2017/02/15 全球购物
台湾森森购物网:U-mall
2017/10/16 全球购物
《会变的花树叶》教学反思
2014/02/10 职场文书
会议室标语
2014/06/21 职场文书
2014财务部年度工作总结
2014/12/08 职场文书
高中教师个人总结
2015/02/10 职场文书
千与千寻观后感
2015/06/04 职场文书
小学运动会加油词
2015/07/18 职场文书
施工现场安全管理制度
2015/08/05 职场文书
MySQL中出现乱码问题的终极解决宝典
2021/05/26 MySQL
Python包argparse模块常用方法
2021/06/04 Python