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 相关文章推荐
bootstrap data与jquery .data
Jul 07 Javascript
jquery实现点击查看更多内容控制段落文字展开折叠效果
Aug 06 Javascript
jQuery中常用动画效果函数(日常整理)
Sep 17 Javascript
微信小程序的动画效果详解
Jan 18 Javascript
JavaScript数据结构中栈的应用之表达式求值问题详解
Apr 11 Javascript
JavaScript中三个等号和两个等号你了解多少
Jul 04 Javascript
JS实现table表格固定表头且表头随横向滚动而滚动
Oct 26 Javascript
详解Node.js模板引擎Jade入门
Jan 19 Javascript
vue使用$emit时,父组件无法监听到子组件的事件实例
Feb 26 Javascript
JavaScript设计模式之原型模式分析【ES5与ES6】
Jul 26 Javascript
从0搭建vue-cli4脚手架
Jun 17 Javascript
json.stringify()与json.parse()的区别以及用处
Jan 25 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 - Html Transfer Code
2006/10/09 PHP
PHP 配置文件中open_basedir选项作用
2009/07/19 PHP
Thinkphp框架中D方法与M方法的区别
2016/12/23 PHP
Laravel (Lumen) 解决JWT-Auth刷新token的问题
2019/10/24 PHP
为指定元素增加样式的js代码
2009/12/09 Javascript
jquery tab标签页的制作
2010/05/10 Javascript
JQuery.ajax传递中文参数的解决方法 推荐
2011/03/28 Javascript
javaScript函数中执行C#代码中的函数方法总结
2013/08/07 Javascript
javascript伸缩菜单栏实现代码分享
2015/11/12 Javascript
BootStrap 图标icon符号图标glyphicons不正常显示的快速解决办法
2016/12/08 Javascript
JS实现列表页面隔行变色效果
2017/03/25 Javascript
JavaScript截屏功能的实现代码
2017/07/28 Javascript
在Vue组件中使用 TypeScript的方法
2018/02/28 Javascript
JSON数据中存在单个转义字符“\”的处理方法
2018/07/11 Javascript
element-ui 设置菜单栏展开的方法
2018/08/22 Javascript
JS简单判断是否在微信浏览器打开的方法示例
2019/01/08 Javascript
Vue实现根据hash高亮选项卡
2019/05/27 Javascript
在VUE style中使用data中的变量的方法
2020/06/19 Javascript
[02:54]DOTA2英雄基础教程 撼地者
2014/01/14 DOTA
python 获取指定文件夹下所有文件名称并写入列表的实例
2018/04/23 Python
Python数据预处理之数据规范化(归一化)示例
2019/01/08 Python
python 并发编程 非阻塞IO模型原理解析
2019/08/20 Python
python爬虫看看虎牙女主播中谁最“顶”步骤详解
2020/12/01 Python
HTML5+CSS3绘制锯齿状的矩形
2016/03/01 HTML / CSS
英国家庭、花园、汽车和移动解决方案:Easylife Group
2018/05/23 全球购物
一百多行代码实现react拖拽hooks
2021/03/23 Javascript
2014年清明节寄语
2014/04/03 职场文书
煤矿安全承诺书
2014/05/22 职场文书
装修施工安全责任书
2014/07/24 职场文书
国际政治学专业推荐信
2014/09/26 职场文书
离婚协议书样本
2015/01/26 职场文书
音乐教师求职信范文
2015/03/20 职场文书
作息时间调整通知
2015/04/22 职场文书
实用求职信模板范文
2019/05/13 职场文书
当你焦虑迷茫时,请读读这6句话
2019/07/24 职场文书
十一月早安语录:把心放轻,人生就是一朵自在的云
2019/11/04 职场文书