解决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 相关文章推荐
基于jquery的跨域调用文件
Nov 19 Javascript
基于Jquery的$.cookie()实现跨越页面tabs导航实现代码
Mar 03 Javascript
密码强度检测效果实现原理与代码
Jan 04 Javascript
JavaScript格式化日期时间的方法和自定义格式化函数示例
Apr 04 Javascript
一个简单的实现下拉框多选的插件可移植性比较好
May 05 Javascript
JQuery鼠标移到小图显示大图效果的方法
Jun 10 Javascript
在JS中如何把毫秒转换成规定的日期时间格式实例
May 11 Javascript
Angular移动端页面input无法输入的解决方法
Nov 14 Javascript
Vue iview-admin框架二级菜单改为三级菜单的方法
Jul 03 Javascript
vue服务端渲染添加缓存的方法
Sep 18 Javascript
JavaScript Canvas编写炫彩的网页时钟
Oct 16 Javascript
Weex开发之地图篇的具体使用
Oct 16 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
PHP防止跨域提交表单
2013/11/01 PHP
PHP小教程之实现链表
2014/06/09 PHP
PHP使用ob_start生成html页面的方法
2014/11/07 PHP
JavaScript 输入框内容格式验证代码
2010/02/11 Javascript
修改js Calendar日历控件 兼容IE9/谷歌/火狐
2013/01/04 Javascript
JS链式调用的实现方法
2013/03/07 Javascript
js 遍历json返回的map内容示例代码
2013/10/29 Javascript
JS与C#编码解码
2013/12/03 Javascript
javascript运行机制之this详细介绍
2014/02/07 Javascript
js与运算符和或运算符的妙用
2014/02/14 Javascript
js事件监听器用法实例详解
2015/06/01 Javascript
JS实现的鼠标跟随代码(卡通手型点击效果)
2015/10/26 Javascript
javascript生成img标签的3种实现方法(对象、方法、html)
2015/12/25 Javascript
简单谈谈javascript中this的隐式绑定
2016/02/22 Javascript
Bootstrap每天必学之导航条(二)
2016/03/01 Javascript
jQuery制作圣诞主题页面 更像是爱情影集
2016/08/10 Javascript
Vue.js基础知识小结
2017/01/13 Javascript
jQuery层级选择器实例代码
2017/02/06 Javascript
javascript实现秒表计时器的制作方法
2017/02/16 Javascript
浅析JS中的 map, filter, some, every, forEach, for in, for of 用法总结
2017/03/29 Javascript
JavaScript代码异常监控实现过程详解
2020/02/17 Javascript
Vue实现todo应用的示例
2021/02/20 Vue.js
python实现在windows下操作word的方法
2015/04/28 Python
Python爬虫框架Scrapy实战之批量抓取招聘信息
2015/08/07 Python
Python实现将sqlite数据库导出转成Excel(xls)表的方法
2017/07/17 Python
Python实现解析Bit Torrent种子文件内容的方法
2017/08/29 Python
python编程线性回归代码示例
2017/12/07 Python
python根据unicode判断语言类型实例代码
2018/01/17 Python
PyCharm+PySpark远程调试的环境配置的方法
2018/11/29 Python
python使用pandas抽样训练数据中某个类别实例
2020/02/28 Python
Python序列化pickle模块使用详解
2020/03/05 Python
美津浓美国官网:Mizuno美国
2018/08/07 全球购物
Farfetch台湾官网:奢侈品牌时尚购物平台
2019/06/17 全球购物
《雨霖铃》教学反思
2014/02/22 职场文书
初中同学会致辞
2015/08/01 职场文书
美容院管理规章制度
2015/08/05 职场文书