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

 更新时间:2020年07月22日 09:33:11   作者:wpj130  
这篇文章主要介绍了解决VUE-Router 同一页面第二次进入不刷新的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

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

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

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文件

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

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

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

相关文章

  • vue轻量级框架无法获取到vue对象解决方法

    vue轻量级框架无法获取到vue对象解决方法

    这篇文章主要介绍了vue轻量级框架无法获取到vue对象解决方法相关知识点,有需要的读者们跟着学习下。
    2019-05-05
  • Vue页面中实现平滑滚动功能

    Vue页面中实现平滑滚动功能

    这是一个实现平滑滚动的函数,可以让页面在滚动到指定位置时产生缓动效果,本文给大家介绍了如何在在Vue页面中实现平滑滚动功能,<BR>,文中详细的代码讲解供大家参考,具有一定的参考价值,需要的朋友可以参考下
    2023-12-12
  • vue中使用vue-cli接入融云实现即时通信

    vue中使用vue-cli接入融云实现即时通信

    这篇文章主要介绍了vue中使用vue-cli接入融云实现即时通信的相关资料,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-04-04
  • 使用Vue制作图片轮播组件思路详解

    使用Vue制作图片轮播组件思路详解

    这篇文章主要介绍了使用Vue制作图片轮播组件思路详解,需要的朋友可以参考下
    2018-03-03
  • vue element el-form 多级嵌套验证的实现示例

    vue element el-form 多级嵌套验证的实现示例

    本文主要介绍了vue element el-form 多级嵌套验证的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • Vue项目打包压缩的实现(让页面更快响应)

    Vue项目打包压缩的实现(让页面更快响应)

    这篇文章主要介绍了Vue项目打包压缩的实现(让页面更快响应),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • vue中使用cookies和crypto-js实现记住密码和加密的方法

    vue中使用cookies和crypto-js实现记住密码和加密的方法

    这篇文章给大家介绍一下关于vue中使用cookies和crypto-js如何实现密码的加密与记住密码,有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。
    2018-10-10
  • elementui中el-input回车搜索实现示例

    elementui中el-input回车搜索实现示例

    这篇文章主要介绍了elementui中el-input回车搜索实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-06-06
  • vue.js的安装方法

    vue.js的安装方法

    这篇文章主要为大家详细介绍了vue.js的安装方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • vue 使用html2canvas将DOM转化为图片的方法

    vue 使用html2canvas将DOM转化为图片的方法

    这篇文章主要介绍了vue 使用html2canvas将DOM转化为图片的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-09-09

最新评论