解决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 相关文章推荐
javascript禁制后退键(Backspace)实例代码
Nov 15 Javascript
2014 年最热门的21款JavaScript框架推荐
Dec 25 Javascript
jquery实现一个简单的表单验证实例
Mar 30 Javascript
jQuery实现日期联动效果实例
Jul 26 Javascript
Angular.js项目中使用gulp实现自动化构建以及压缩打包详解
Jul 19 Javascript
vue、react等单页面项目应该这样子部署到服务器
Jan 03 Javascript
微信小程序之多文件下载的简单封装示例
Jan 29 Javascript
JS简单获得节点元素的方法示例
Feb 10 Javascript
使用Vue中 v-for循环列表控制按钮隐藏显示功能
Apr 23 Javascript
layui table 表格模板按钮的实例代码
Sep 21 Javascript
layui的select联动实现代码
Sep 28 Javascript
Vue3新特性之在Composition API中使用CSS Modules
Jul 13 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
《魔兽争霸3:重制版》翻车了?你想要的我们都没有
2019/11/07 魔兽争霸
解析PHPExcel使用的常用说明以及把PHPExcel整合进CI框架的介绍
2013/06/24 PHP
验证token、回复图文\文本、推送消息的实用微信类php代码
2016/06/28 PHP
thinkPHP5.0框架整体架构总览【应用,模块,MVC,驱动,行为,命名空间等】
2017/03/25 PHP
node.js中的buffer.length方法使用说明
2014/12/14 Javascript
js上传图片及预览功能实例分析
2015/04/24 Javascript
整理Javascript事件响应学习笔记
2015/12/02 Javascript
nodejs制作爬虫实现批量下载图片
2017/05/19 NodeJs
JS限制输入框输入的实现代码
2018/07/02 Javascript
vue后台管理之动态加载路由的方法
2018/08/13 Javascript
Mint UI组件库CheckList使用及踩坑总结
2018/12/20 Javascript
JS字典Dictionary类定义与用法示例
2019/02/01 Javascript
总结4个方面优化Vue项目
2019/02/11 Javascript
redux.js详解及基本使用
2019/05/24 Javascript
小程序富文本提取图片可放大缩小
2020/05/26 Javascript
vue移动端写的拖拽功能示例代码
2020/09/09 Javascript
[02:38]2018DOTA2亚洲邀请赛赛前采访-VGJ.T
2018/04/03 DOTA
[56:58]VP vs Optic 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python实现程序的单一实例用法分析
2015/06/03 Python
Python 3实战爬虫之爬取京东图书的图片详解
2017/10/09 Python
Python实现的简单计算器功能详解
2018/08/25 Python
python调用百度语音识别api
2018/08/30 Python
python判断数字是否是超级素数幂
2018/09/27 Python
Python3多线程基础知识点
2019/02/19 Python
python常用库之NumPy和sklearn入门
2019/07/11 Python
Python object类中的特殊方法代码讲解
2020/03/06 Python
使用python实现名片管理系统
2020/06/18 Python
蒂娜商店:Tiina the Store
2019/12/07 全球购物
学前教育学生自荐信范文
2013/12/31 职场文书
协议书与合同的区别
2014/04/18 职场文书
材料专业大学毕业生自荐书
2014/07/02 职场文书
租房协议书样本
2014/08/20 职场文书
2014党员学习兰辉先进事迹思想汇报
2014/09/17 职场文书
关于考试抄袭的检讨书
2019/11/02 职场文书
springboot+WebMagic+MyBatis爬虫框架的使用
2021/08/07 Java/Android
Java死锁的排查
2022/05/11 Java/Android