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 相关文章推荐
将函数的实际参数转换成数组的方法
Jan 25 Javascript
浅析jQuery的链式调用之each函数
Dec 03 Javascript
jquery1.9 下检测浏览器类型和版本的方法
Dec 26 Javascript
JS获取iframe中marginHeight和marginWidth属性的方法
Apr 01 Javascript
浅谈javascript中关于日期和时间的基础知识
Jul 13 Javascript
用Vue.js实现监听属性的变化
Nov 17 Javascript
BootStrap中关于Select下拉框选择触发事件及扩展
Nov 22 Javascript
jQuery简易时光轴实现方法示例
Mar 13 Javascript
EasyUI的TreeGrid的过滤功能的解决思路
Aug 08 Javascript
探究react-native 源码的图片缓存问题
Aug 24 Javascript
vue开发中遇到的问题总结
Apr 07 Javascript
如何在postman中添加cookie信息步骤解析
Jun 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
解读PHP中的垃圾回收机制
2015/08/10 PHP
Smarty简单生成表单元素的方法示例
2016/05/23 PHP
thinkphp中的url跳转用法分析
2016/07/12 PHP
PHP插件PHPMailer发送邮件功能
2017/02/28 PHP
让Laravel API永远返回JSON格式响应的方法示例
2018/09/05 PHP
PHP的cookie与session原理及用法详解
2019/09/27 PHP
ajax处理php返回json数据的实例代码
2013/01/24 Javascript
web网页按比例显示图片实现原理及js代码
2013/08/09 Javascript
js switch case default 的用法示例介绍
2013/10/23 Javascript
JavaScript实现简单图片翻转的方法
2015/04/17 Javascript
JavaScript 闭包机制详解及实例代码
2016/10/10 Javascript
网站发布后Bootstrap框架引用woff字体无法正常显示的解决方法
2016/11/24 Javascript
vue iview实现动态路由和权限验证功能
2018/04/17 Javascript
js实现敏感词过滤算法及实现逻辑
2018/07/24 Javascript
Nuxt.js SSR与权限验证的实现
2018/11/21 Javascript
详细讲解如何创建, 发布自己的 Vue UI 组件库
2019/05/29 Javascript
5个你不知道的JavaScript字符串处理库(小结)
2020/06/01 Javascript
Python实现多线程HTTP下载器示例
2017/02/11 Python
python中使用正则表达式的后向搜索肯定模式(推荐)
2017/11/11 Python
python 列表删除所有指定元素的方法
2018/04/19 Python
利用python和百度地图API实现数据地图标注的方法
2019/05/13 Python
python Web flask 视图内容和模板实现代码
2019/08/23 Python
Python多线程及其基本使用方法实例分析
2019/10/29 Python
Pytorch 实现冻结指定卷积层的参数
2020/01/06 Python
如何在Windows中安装多个python解释器
2020/06/16 Python
Python限制内存和CPU使用量的方法(Unix系统适用)
2020/08/04 Python
基于HTML5的齿轮动画特效
2016/02/29 HTML / CSS
外贸英语毕业生自荐信
2013/11/14 职场文书
机械系大学毕业生推荐信
2013/11/27 职场文书
转让协议书范本
2014/04/15 职场文书
节能减排倡议书
2014/04/15 职场文书
工程部岗位职责
2015/02/10 职场文书
环保建议书作文300字
2015/09/14 职场文书
先进个人主要事迹范文
2015/11/04 职场文书
2016同学毕业寄语大全
2015/12/04 职场文书
mysql函数全面总结
2021/11/11 MySQL