解决VUE-Router 同一页面第二次进入不刷新的问题


Posted in Javascript onJuly 22, 2020

最近正好遇到一个问题,修改用户的头像,修改后再进入用户主页,发现改了之后即使数据变了。。页面也不会重新渲染。。。

下面提供几种解决方案来给予大家参考:

1. 可以在刷新的页面定义一个参数, 这样每次都会渲染出不同的页面:

route 实例化命名配置:

{
   // 用户信息
   path: '/accountDetail/:randKey',
   name: 'accountDetail',
   component: accountDetail,
   meta: {requiresAuth: true}
 },

跳转 的地方配置:

var chars = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'];
 var maxLength = 15;
    var res = '_jsonpphotochange';
    for (var i = 0; i < maxLength; i++) {
      var id = Math.ceil(Math.random() * 35);
      res += chars[id];
    }
    // res 为随机字符串,下面是跳转:
 this.$router.push('/accountDetail/' + paramsAccount);

2. 可以让全局的页面都重载,这个比较狠冗余也多,慎重点用:

在App.vue下修改:

<template>
 <div id="app" class="app">
  <transition :key="key">
  <router-view class="router-view"></router-view>
  </transition>
 </div>
 </template>
 <script type="text/ecmascript-6">
 // import {mapState} from 'vuex';
 export default {
  name: 'app',
  computed: {
  key() {
   return this.$route.name !== undefined ? this.$route.name + new Date() : this.$route + new Date();
  }
  }
 };
 </script>
// 就是在template下加一对标签<transition></transition> 加上key的属性,不过官网说 如果防止组件的复用就用这个 还是比较推荐这个方法的。

3. watch 来检测路由变化。。缺点是,有时候会莫名出现 点两次的情况,也就是你要跳转会跳转两次。。有人说是进来会执行一次跳转回执行一次,不过我觉得不太像。。希望有能人士指点。。:

watch: {
 '$route' (to, from) {
  this.httpGetUserInfo(); // 这是我ajax获取用户信息的方法
 }
 }
// 这样每次路由执行就会运行这个方法,第一次打开不会运行,你需要用created()方法来执行下ajax方法。

补充知识:vue页面跳转parmas传参之刷新页面参数丢失问题解决方法

说在前面:

今天遇到一个问题,通过vue的parmas传参,跳转到相应页面后,F5刷新传过来的参数就会消失。尝试改成query传参,但由于项目的路由不能带参数,不然刷新会找不到页面。百度了很长时间,尝试了很多次,最后找到了一个方法,记一下,以备以后需要。(主要是实在搞不懂vuex 感觉还是local storage好理解一些。。。)

1.utils文件夹下新建localstorage.js文件

解决VUE-Router 同一页面第二次进入不刷新的问题

2.在需要保存值的文件里引入localstorage.js并通过db.save进行保存数据

解决VUE-Router 同一页面第二次进入不刷新的问题

3.在跳转到的页面引入localstorage.js并通过db.get获取数据

解决VUE-Router 同一页面第二次进入不刷新的问题

以上这篇解决VUE-Router 同一页面第二次进入不刷新的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript中的array数组使用技巧
Jan 31 Javascript
JSQL 批量图片切换的实现代码
May 05 Javascript
JS判断表单输入是否为空(示例代码)
Dec 23 Javascript
js实现鼠标感应向下滑动隐藏菜单的方法
Feb 20 Javascript
深入理解Node.js的HTTP模块
Oct 12 Javascript
详解Vue使用命令行搭建单页面应用
May 24 Javascript
Javascript 实现匿名递归的实例代码
May 25 Javascript
Angularjs的$http异步删除数据详解及实例
Jul 27 Javascript
浅谈Vue的加载顺序探讨
Oct 25 Javascript
详解vue.js数据传递以及数据分发slot
Jan 20 Javascript
JS中作用域以及变量范围分析
Jul 18 Javascript
vue Treeselect下拉树只能选择第N级元素实现代码
Aug 31 Javascript
js实现查询商品案例
Jul 22 #Javascript
vue element 关闭当前tab 跳转到上一路由操作
Jul 22 #Javascript
eslint+prettier统一代码风格的实现方法
Jul 22 #Javascript
解决vue-router 切换tab标签关闭时缓存问题
Jul 22 #Javascript
基于 Vue 的 Electron 项目搭建过程图文详解
Jul 22 #Javascript
浅谈JS for循环中使用break和continue的区别
Jul 21 #Javascript
解决vue 给window添加和移除resize事件遇到的坑
Jul 21 #Javascript
You might like
Windows下PHP的任意文件执行漏洞
2006/10/09 PHP
中英文字符串翻转函数
2008/12/09 PHP
php页面缓存ob系列函数介绍
2012/10/18 PHP
CI框架学习笔记(二) -入口文件index.php
2014/10/27 PHP
Laravel实现定时任务的示例代码
2017/08/10 PHP
PHP让网站移动访问更加友好方法
2019/02/14 PHP
PHP设计模式(六)桥连模式Bridge实例详解【结构型】
2020/05/02 PHP
php+mysql+ajax 局部刷新点赞/取消点赞功能(每个账号只点赞一次)
2020/07/24 PHP
安装PHP扩展时解压官方 tgz 文件后没有configure文件无法进行配置编译的问题
2020/08/26 PHP
javascript学习笔记--数字格式类型
2014/05/22 Javascript
使用JSON.parse将json字符串转换成json对象的时候会出错
2014/09/04 Javascript
javascript中2个感叹号的用法实例详解
2014/09/04 Javascript
jQuery中wrapInner()方法用法实例
2015/01/16 Javascript
AngularJS入门教程引导程序
2016/08/18 Javascript
jQuery简单获取DIV和A标签元素位置的方法
2017/02/07 Javascript
详解vue-router2.0动态路由获取参数
2017/06/14 Javascript
深入理解vue2.0路由如何配置问题
2017/07/18 Javascript
Vuex中mutations与actions的区别详解
2018/03/01 Javascript
vuex中的 mapState,mapGetters,mapActions,mapMutations 的使用
2018/04/13 Javascript
Vant的安装和配合引入Vue.js项目里的方法步骤
2018/12/05 Javascript
[原创]微信小程序获取网络类型的方法示例
2019/03/01 Javascript
Python读写Json涉及到中文的处理方法
2016/09/12 Python
django使用html模板减少代码代码解析
2017/12/12 Python
python+tkinter编写电脑桌面放大镜程序实例代码
2018/01/16 Python
python反编译学习之字节码详解
2019/05/19 Python
pandas数据选取:df[] df.loc[] df.iloc[] df.ix[] df.at[] df.iat[]
2020/04/24 Python
什么是python类属性
2020/06/10 Python
Cole Haan官方网站:美国时尚潮流品牌
2017/12/06 全球购物
公司前台接待岗位职责
2013/12/03 职场文书
股份合作协议书
2014/04/12 职场文书
会计系毕业求职信
2014/08/07 职场文书
2015年档案管理员工作总结
2015/05/13 职场文书
六年级作文之家庭作文
2019/12/12 职场文书
详解MySQL连接挂死的原因
2021/05/18 MySQL
Golang日志包的使用
2022/04/20 Golang
mysql拆分字符串作为查询条件的示例代码
2022/07/07 MySQL