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 相关文章推荐
javascript 精粹笔记
May 09 Javascript
JQuery中getJSON的使用方法
Dec 13 Javascript
浅谈javascript中createElement事件
Dec 05 Javascript
Js为表单动态添加节点内容的方法
Feb 10 Javascript
js使用cookie记录用户名的方法
Nov 26 Javascript
使用Angular缓存父页面数据的方法
Jan 03 Javascript
原生JS实现导航下拉菜单效果
Nov 25 Javascript
详解基于webpack2.x的vue2.x的多页面站点
Aug 21 Javascript
详解使用React进行组件库开发
Feb 06 Javascript
layui 实现加载动画以及非真实加载进度的方法
Sep 23 Javascript
JS实现transform实现扇子效果
Jan 17 Javascript
Vue单文件组件开发实现过程详解
Jul 30 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
基于mysql的论坛(5)
2006/10/09 PHP
网页游戏开发入门教程三(简单程序应用)
2009/11/02 PHP
php抓取页面与代码解析 推荐
2010/07/23 PHP
php去除重复字的实现代码
2011/09/16 PHP
PHP实现通过get方式识别用户发送邮件的方法
2015/07/16 PHP
弹出模态框modal的实现方法及实例
2017/09/19 PHP
用JAVASCRIPT如何给<textarea></textarea>赋值
2007/04/20 Javascript
dojo学习第二天 ajax异步请求之绑定列表
2011/08/29 Javascript
jQuery实现自动与手动切换的滚动新闻特效代码分享
2015/08/27 Javascript
jQuery实现图片向左向右切换效果的简单实例
2016/05/18 Javascript
Laravel中常见的错误与解决方法小结
2016/08/30 Javascript
原生Javascript和jQuery做轮播图简单例子
2016/10/11 Javascript
浅谈jquery之on()绑定事件和off()解除绑定事件
2016/10/26 Javascript
Bootstrap基本组件学习笔记之列表组(11)
2016/12/07 Javascript
TypeScript入门-基本数据类型
2017/03/28 Javascript
了解javascript中的Dom操作
2019/05/27 Javascript
使用webpack搭建pixi.js开发环境
2020/02/12 Javascript
js将日期格式转换为YYYY-MM-DD HH:MM:SS
2020/09/18 Javascript
深入浅析ImageMagick命令执行漏洞
2016/10/11 Python
利用Django-environ如何区分不同环境
2018/08/26 Python
Python Django框架防御CSRF攻击的方法分析
2019/10/18 Python
Python高级特性之闭包与装饰器实例详解
2019/11/19 Python
Django 如何使用日期时间选择器规范用户的时间输入示例代码详解
2020/05/22 Python
通过实例简单了解python yield使用方法
2020/08/06 Python
HTML5中实现拖放效果无须借助javascript
2012/12/26 HTML / CSS
五分钟学会HTML5的WebSocket协议
2019/11/22 HTML / CSS
优秀应届生推荐信
2013/11/09 职场文书
爷爷追悼会答谢词
2014/01/24 职场文书
《我的第一本书》教学反思
2014/02/15 职场文书
个人作风建设心得体会
2014/10/22 职场文书
2014年物流工作总结
2014/11/25 职场文书
教师研修随笔感言
2015/11/18 职场文书
《窃读记》教学反思
2016/02/18 职场文书
2016企业先进集体事迹材料
2016/02/25 职场文书
MySQL数据库之存储过程 procedure
2022/06/16 MySQL
基于Redission的分布式锁实战
2022/08/14 Redis