解决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 21 Javascript
Seajs的学习笔记
Mar 04 Javascript
Windows 系统下安装和部署Egret的开发环境
Jul 31 Javascript
JS实现消息来时让网页标题闪动效果的方法
Apr 20 Javascript
全面解析Bootstrap中form、navbar的使用方法
May 30 Javascript
AngularJS的依赖注入实例分析(使用module和injector)
Jan 19 Javascript
微信小程序中form 表单提交和取值实例详解
Apr 20 Javascript
javascript 判断一个对象为数组的方法
May 03 Javascript
浅谈Node模块系统及其模式
Nov 17 Javascript
vue中对象数组去重的实现
Feb 06 Javascript
JS XMLHttpRequest原理与使用方法深入详解
Apr 30 Javascript
使用JS实现简易计算器
Jun 14 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
一个颜色轮换的简单例子
2006/10/09 PHP
php代码书写习惯优化小结
2013/06/20 PHP
php编写的一个E-mail验证类
2015/03/25 PHP
PHP入门教程之操作符与控制结构流程详解
2016/09/09 PHP
php使用curl实现简单模拟提交表单功能
2017/05/15 PHP
PHP简单获取随机数的常用方法小结
2017/06/07 PHP
PHP 中魔术常量的实例详解
2017/10/26 PHP
PHP-FPM 设置多pool及配置文件重写操作示例
2019/10/02 PHP
Laravel相关的一些故障解决
2020/08/19 PHP
浅谈PHP中的那些魔术常量
2020/12/02 PHP
Z-Blog中用到的js代码
2007/03/15 Javascript
jQuery autocomplete插件修改
2009/04/17 Javascript
js 获取浏览器高度和宽度值(多浏览器)
2009/09/02 Javascript
JavaScript浏览器选项卡效果
2010/08/25 Javascript
javascript获取所有同类checkbox选项(实例代码)
2013/11/07 Javascript
javascript间隔定时器(延时定时器)学习 间隔调用和延时调用
2014/01/13 Javascript
javascript的document.referrer浏览器支持、失效情况总结
2014/07/18 Javascript
JavaScript实现图片拖曳效果
2017/09/08 Javascript
vuex actions传递多参数的处理方法
2018/09/18 Javascript
基于vue2.0的活动倒计时组件countdown(附源码下载)
2018/10/09 Javascript
js中Generator函数的深入讲解
2019/04/07 Javascript
Centos7 安装Node.js10以上版本的方法步骤
2019/10/15 Javascript
详解Python读取配置文件模块ConfigParser
2017/05/11 Python
Python扩展内置类型详解
2018/03/26 Python
创建pycharm的自定义python模板方法
2018/05/23 Python
Python多线程原理与用法详解
2018/08/20 Python
python使用webdriver爬取微信公众号
2018/08/31 Python
Pytorch实现将模型的所有参数的梯度清0
2020/06/24 Python
OpenCV实现机器人对物体进行移动跟随的方法实例
2020/11/09 Python
美国美妆网站:B-Glowing
2016/10/12 全球购物
Tarte Cosmetics官网:美国最受欢迎的化妆品公司之一
2017/08/24 全球购物
美国著名手表网站:Timepiece
2017/11/15 全球购物
美国波西米亚风格服装品牌:Show Me Your Mumu
2018/01/05 全球购物
荷兰浴室和卫浴网上商店:Badkamerxxl.nl
2020/10/06 全球购物
中医学专业自荐信范文
2014/04/01 职场文书
经理任命书模板
2014/06/06 职场文书