vue动态路由:路由参数改变,视图不更新问题的解决


Posted in Javascript onNovember 05, 2019

问题描述:

使用vue动态路由(“/route/:id” 形式) 传参的时候,修改页面参数,但是视图仍旧是之前的内容,没有进行刷新,示例如下:

vue动态路由:路由参数改变,视图不更新问题的解决

原因分析:

具体原因在vue官方文档:响应路由参数的变化一节中有讲过:

当使用路由参数时,例如从 /user/foo 导航到 /user/bar,原来的组件实例会被复用。因为两个路由都渲染同个组件,比起销毁再创建,复用则显得更加高效。不过,这也意味着组件的生命周期钩子不会再被调用。

复用组件时,想对路由参数的变化作出响应的话,你可以简单地 watch (监测变化) $route 对象

(摘自vue文档)

解决办法:

方法一: watch (监测变化) $route 对象

watch: {
  '$route' (to, from) {
   // 监听路由的变化,做你想做的一些事情...
   // this.init()
  }
},

方法二:使用 vue-router 2.2 中引入的 beforeRouteUpdate 导航守卫:

export default {
 data () {
  return {
   errCode: '',
   info: {}
  }
 },
 beforeRouteUpdate (to, from, next) {
  // 做一些想要做的处理...
  // this.errCode = to.params.code
  // this.info = formatErrorMsg(this.errCode)
  next() // 一定要有next
 },
 // ...
}

方法二中需要注意的是,一定要有next()

以上这篇vue动态路由:路由参数改变,视图不更新问题的解决就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery之超简单的div显示和隐藏特效demo(分享)
Jul 09 Javascript
解析offsetHeight,clientHeight,scrollHeight之间的区别
Nov 20 Javascript
ECMAScript 5严格模式(Strict Mode)介绍
Mar 02 Javascript
使用Node.js处理前端代码文件的编码问题
Feb 16 Javascript
jQuery EasyUI 入门必看
Jun 03 Javascript
mvvm双向绑定机制的原理和实现代码(推荐)
Jun 07 Javascript
Laravel中常见的错误与解决方法小结
Aug 30 Javascript
基于js实现的限制文本框只可以输入数字
Dec 05 Javascript
使用js获取伪元素的content实例
Oct 24 Javascript
vue登录注册及token验证实现代码
Dec 14 Javascript
详解JavaScript添加给定的标签选项
Sep 17 Javascript
JavaScript使用小插件实现倒计时的方法讲解
Mar 11 Javascript
vue 解决路由只变化参数页面组件不更新问题
Nov 05 #Javascript
vue 实现路由跳转时更改页面title
Nov 05 #Javascript
Node.js开发之套接字(socket)编程入门示例
Nov 05 #Javascript
小程序识别身份证,银行卡,营业执照,驾照的实现
Nov 05 #Javascript
node.js域名解析实现方法详解
Nov 05 #Javascript
node.js文件操作系统实例详解
Nov 05 #Javascript
Vue中使用matomo进行访问流量统计的实现
Nov 05 #Javascript
You might like
php UBB 解析实现代码
2011/11/27 PHP
PHP下获取上个月、下个月、本月的日期(strtotime,date)
2014/02/02 PHP
thinkPHP2.1自定义标签库的导入方法详解
2016/07/20 PHP
thinkPHP模板中函数的使用方法示例
2016/11/30 PHP
PHP面向对象五大原则之里氏替换原则(LSP)详解
2018/04/08 PHP
确保Laravel网站不会被嵌入到其他站点中的方法
2019/10/18 PHP
PHP中echo与print区别点整理
2021/03/09 PHP
javascript 同时在IE和FireFox获取KeyCode的代码
2010/02/07 Javascript
js href的用法
2010/05/13 Javascript
基于jQuery的倒计时插件代码
2011/05/07 Javascript
文本有关的样式和jQuery求对象的高宽问题分别说明
2013/08/30 Javascript
jquery datepicker参数介绍和示例
2014/04/15 Javascript
jQuery取得iframe中元素的常用方法详解
2016/01/14 Javascript
原生JS简单实现ajax的方法示例
2016/11/29 Javascript
详谈jQuery Ajax(load,post,get,ajax)的用法
2017/03/02 Javascript
作为老司机使用 React 总结的 11 个经验教训
2017/04/08 Javascript
js实现点击切换checkbox背景图片的简单实例
2017/05/08 Javascript
js正则表达式校验指定字符串的方法
2018/07/23 Javascript
layui--js控制switch的切换方法
2019/09/03 Javascript
VUE 单页面使用 echart 窗口变化时的用法
2020/07/30 Javascript
javascript实现贪吃蛇游戏(娱乐版)
2020/08/17 Javascript
vue使用transition组件动画效果的实例代码
2021/01/28 Vue.js
Python 字符串中的字符倒转
2008/09/06 Python
Python PyAutoGUI模块控制鼠标和键盘实现自动化任务详解
2018/09/04 Python
在Python中COM口的调用方法
2019/07/03 Python
Python 200行代码实现一个滑动验证码过程详解
2019/07/11 Python
基于Django静态资源部署404的解决方法
2019/07/28 Python
Python如何计算语句执行时间
2019/11/22 Python
python cv2在验证码识别中应用实例解析
2019/12/25 Python
html5 css3网站菜单实现代码
2013/12/23 HTML / CSS
捷克鲜花配送:Florea.cz
2018/10/29 全球购物
英国独特家具和家庭用品购物网站:Cuckooland
2020/08/30 全球购物
同学毕业留言寄语
2015/02/27 职场文书
入党积极分子考察意见
2015/06/02 职场文书
图书馆义工感想
2015/08/07 职场文书
MySQL示例讲解数据库约束以及表的设计
2022/06/16 MySQL