解决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 相关文章推荐
js停止输出代码
Jul 20 Javascript
cnblogs csdn 代码运行框实现代码
Nov 02 Javascript
JavaScript 对象模型 执行模型
Oct 15 Javascript
JavaScript遍历table表格中的某行某列并打印其值
Jul 08 Javascript
JavaScript如何实现在文本框(密码框)输入提示语
Dec 25 Javascript
Node.js 应用跑得更快 10 个技巧
Apr 03 Javascript
基于Angularjs实现分页功能
May 30 Javascript
实例讲解JavaScript中的this指向错误解决方法
Jun 13 Javascript
ReactNative 之FlatList使用及踩坑封装总结
Nov 29 Javascript
Vue底层实现原理总结
Feb 17 Javascript
工作中常用到的ES6语法
Sep 04 Javascript
Vue项目History模式404问题解决方法
Oct 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
destoon在360浏览器下出现用户被强行注销的解决方法
2014/06/26 PHP
PHP实现WebService的简单示例和实现步骤
2015/03/27 PHP
PHP实现页面静态化的超简单方法
2016/09/06 PHP
PHP后端银联支付及退款实例代码
2017/06/23 PHP
js实现文本框输入文字个数限制代码
2015/12/25 Javascript
javascript每日必学之基础入门
2016/02/16 Javascript
总结JavaScript设计模式编程中的享元模式使用
2016/05/21 Javascript
JavaScript中的Array 对象(数组对象)
2016/06/02 Javascript
[原创]SyntaxHighlighter自动识别并加载脚本语言
2017/02/07 Javascript
jQuery插件echarts去掉垂直网格线用法示例
2017/03/03 Javascript
JavaScript的词法结构精华篇
2018/10/17 Javascript
详解koa2学习中使用 async 、await、promise解决异步的问题
2018/11/13 Javascript
使用vuepress搭建静态博客的示例代码
2019/02/14 Javascript
vue-cli2与vue-cli3在一台电脑共存的实现方法
2019/09/25 Javascript
vue style width a href动态拼接问题的解决
2020/08/07 Javascript
Python的subprocess模块总结
2014/11/07 Python
Python脚本实现网卡流量监控
2015/02/14 Python
Python脚本判断 Linux 是否运行在虚拟机上
2015/04/25 Python
python操作mongodb根据_id查询数据的实现方法
2015/05/20 Python
python 爬取微信文章
2016/01/30 Python
Python实现简单网页图片抓取完整代码实例
2017/12/15 Python
python 自定义对象的打印方法
2019/01/12 Python
Python类中的装饰器在当前类中的声明与调用详解
2020/04/15 Python
python查看矩阵的行列号以及维数方式
2020/05/22 Python
欧洲顶级体育电子商务网站:SportsShoes.com
2018/03/27 全球购物
JoJo Maman Bébé爱尔兰官网:英国最受欢迎的精品母婴品牌
2020/12/20 全球购物
2014年公司迎新年活动方案
2014/02/24 职场文书
小学德育工作经验交流材料
2014/05/22 职场文书
伊琍体标语
2014/06/25 职场文书
农村婚礼司仪主持词
2015/06/29 职场文书
总经理年会致辞
2015/07/29 职场文书
员工安全责任协议书
2016/03/22 职场文书
创业计划书介绍
2019/04/24 职场文书
解决MySQL存储时间出现不一致的问题
2021/04/28 MySQL
使用 Apache Superset 可视化 ClickHouse 数据的两种方法
2021/07/07 Servers
SpringBoot2零基础到精通之数据与页面响应
2022/03/22 Java/Android