VUE-Router 同一页面第二次进入不刷新 问题以及几个解决方案。
2017-10-31 14:30
806 查看
最近正好遇到一个问题,修改用户的头像,修改后再进入用户主页,发现改了之后即使数据变了。。页面也不会重新渲染。。。下面提供集中解决方案来给予大家参考:
1. 可以在刷新的页面定义一个参数, 这样每次都会渲染出不同的页面:
route 实例化命名配置:
在App.vue下修改:
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.js用vue-router路由传参时页面刷新后参数消失的问题
- vue-router3.0版本中 router.push 不能刷新页面的问题
- 解决vue-router嵌套路由(子路由)在history模式下刷新无法渲染页面的问题
- 解决element-ui中el-menu组件作为vue-router模式在刷新页面后default-active属性与当前路由页面不一致问题的方法
- vue-router中关于组件复用页面不刷新的问题
- vue.js中利用router进行跳转(子页面刷新404问题)
- vue页面刷新或者后退参数丢失的问题
- vue 后台数据获取与组件渲染、页面刷新数据消失的问题小结
- vue-router路由参数刷新消失的问题解决方法
- Vuejs刷新页面子组件数据丢失问题的一点笔记
- HBuilder将Vue打包成App遇到的问题以及解决方案
- 关于Vue项目路由栏去除“#”的处理方法及其刷新页面时出现404问题
- 解决vue 路由变化页面数据不刷新的问题
- 几个页面的问题一起记录了/el表达式判断/<c:import>传值/BootstrapDialog.show关闭时刷新/
- 页面刷新vuex数据消失问题解决方案
- 使用vue-router切换页面时,获取上一页url以及当前页面url
- nginx配置vue-router+webpack项目部署访问刷新出现404问题
- asp.net下两页面传值,以及刷新问题
- react,vue等部署单页面项目时,访问刷新出现404问题
- asp.net下两页面传值,以及刷新问题