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.addClass始终无效原因分析
Sep 08 Javascript
JQuery下拉框应用示例介绍
Apr 23 Javascript
jQuery1.9.1针对checkbox的调整方法(prop)
May 01 Javascript
改变状态栏文字的js代码
Jun 13 Javascript
javascript+canvas制作九宫格小程序
Dec 28 Javascript
JavaScript实现弹出广告功能
Mar 30 Javascript
Vue-router 类似Vuex实现组件化开发的示例
Sep 15 Javascript
微信小程序websocket聊天室的实现示例代码
Feb 12 Javascript
详解jQuery如何实现模糊搜索
May 10 jQuery
教你搭建按需加载的Vue组件库(小结)
Jul 29 Javascript
在VUE中使用lodash的debounce和throttle操作
Nov 09 Javascript
详解微信小程序「渲染层网络层错误」的解决方法
Jan 06 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中通过Ajax如何实现异步文件上传的代码实例
2011/05/07 PHP
php sybase_fetch_array使用方法
2014/04/15 PHP
php对包含html标签的字符串进行截取的函数分享
2014/06/19 PHP
优化WordPress中文章与评论的时间显示
2016/01/12 PHP
PHP使用Mysqli类库实现完美分页效果的方法
2016/04/07 PHP
php+js实现的拖动滑块验证码验证表单操作示例【附源码下载】
2020/05/27 PHP
js资料toString 方法
2007/03/13 Javascript
javascript 打印内容方法小结
2009/11/04 Javascript
让人期待的2011年度最佳 jQuery 插件分享
2012/03/16 Javascript
window.onresize 多次触发的解决方法
2013/11/08 Javascript
jquery重复提交请求的原因浅析
2014/05/23 Javascript
基于jQuery Circlr插件实现产品图片360度旋转
2015/09/20 Javascript
Bootstrap每天必学之导航
2015/11/26 Javascript
jQuery on()绑定动态元素出现的问题小结
2016/02/19 Javascript
Google 地图API Map()构造器详解
2016/08/06 Javascript
解决拦截器对ajax请求的拦截实例详解
2016/12/21 Javascript
Vue.directive自定义指令的使用详解
2017/03/10 Javascript
vue.js 初体验之Chrome 插件开发实录
2017/05/13 Javascript
jQuery实现点击DIV同时点击CheckBox,并为DIV上背景色的实例
2017/12/18 jQuery
jQuery实现判断上传图片类型和大小的方法示例
2018/04/11 jQuery
Vue中使用webpack别名的方法实例详解
2018/06/19 Javascript
对Vue beforeRouteEnter 的next执行时机详解
2018/08/25 Javascript
js实现web调用摄像头 js截取视频画面
2019/04/21 Javascript
微信小游戏之使用three.js 绘制一个旋转的三角形
2019/06/10 Javascript
el-select 下拉框多选实现全选的实现
2019/08/02 Javascript
详解python单元测试框架unittest
2018/07/02 Python
500行Python代码打造刷脸考勤系统
2019/06/03 Python
Python实现EXCEL表格的排序功能示例
2019/06/25 Python
Django中信号signals的简单使用方法
2019/07/04 Python
Python SELENIUM上传文件或图片实现过程
2019/10/28 Python
CSS3 Flexbox中flex-shrink属性的用法示例介绍
2013/12/30 HTML / CSS
幼儿园教师师德师风演讲稿:爱我所爱 无悔青春
2014/09/10 职场文书
民间借贷协议书范本
2014/10/01 职场文书
党员教师批评与自我批评发言稿
2014/10/15 职场文书
MySQL表的增删改查基础教程
2021/04/07 MySQL
Python基础之数据结构详解
2021/04/28 Python