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对象和属性的创建方法
Jan 15 Javascript
javascript div 遮罩层封锁整个页面
Jul 10 Javascript
js css 实现遮罩层覆盖其他页面元素附图
Sep 22 Javascript
jquery实现点击label的同时触发文本框点击事件的方法
Jun 05 Javascript
整理AngularJS框架使用过程当中的一些性能优化要点
Mar 05 Javascript
EXT中单击button按钮grid添加一行(光标位置可设置)的实例代码
Jun 02 Javascript
使用BootStrap实现标签切换原理解析
Mar 14 Javascript
Vuex和前端缓存的整合策略详解
May 09 Javascript
如何从0开始用node写一个自己的命令行程序
Dec 29 Javascript
10个最受欢迎的 JavaScript框架(推荐)
Apr 24 Javascript
在博客园博文中添加自定义右键菜单的方法详解
Feb 05 Javascript
Vue中component标签解决项目组件化操作
Sep 04 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支持多种格式图片上传(支持jpg、png、gif)
2011/11/03 PHP
探讨php中防止SQL注入最好的方法是什么
2013/06/10 PHP
解析PHP中DIRECTORY_SEPARATOR,PATH_SEPARATOR两个常量的作用
2013/06/21 PHP
php遍历文件夹所有文件子文件夹函数代码
2013/11/27 PHP
php共享内存段示例分享
2014/01/20 PHP
php微信公众平台示例代码分析(二)
2016/12/06 PHP
js数组Array sort方法使用深入分析
2013/02/21 Javascript
九种js弹出对话框的方法总结
2013/03/12 Javascript
得到form下的所有的input的js代码
2013/11/07 Javascript
JS比较两个时间大小的简单示例代码
2013/12/20 Javascript
JavaScript中对象属性的添加和删除示例
2014/05/12 Javascript
如何让你的Lightbox支持滚轮缩放及Base64图片
2014/12/04 Javascript
Javascript基础教程之关键字和保留字汇总
2015/01/18 Javascript
javascript cookie的简单应用
2016/02/24 Javascript
Jquery基础之事件操作详解
2016/06/14 Javascript
深入理解JavaScript中Ajax
2016/08/02 Javascript
微信小程序 Video API实例详解
2016/10/02 Javascript
Angular2实现组件交互的方法分析
2017/12/19 Javascript
Vue组件为什么data必须是一个函数
2020/06/11 Javascript
一个基于flask的web应用诞生 使用模板引擎和表单插件(2)
2017/04/11 Python
Mac中Python 3环境下安装scrapy的方法教程
2017/10/26 Python
儿童学习python的一些小技巧
2018/05/27 Python
Python re 模块findall() 函数返回值展现方式解析
2019/08/09 Python
python 密码学示例——凯撒密码的实现
2020/09/21 Python
pandas使用函数批量处理数据(map、apply、applymap)
2020/11/27 Python
CSS3 文字动画效果
2020/11/12 HTML / CSS
html5中valid、invalid、required的定义
2014/02/21 HTML / CSS
HTML5 新表单类型示例代码
2018/03/20 HTML / CSS
Origins悦木之源英国官网:雅诗兰黛集团高端植物护肤品牌
2017/11/06 全球购物
澳大利亚便宜的家庭购物网站:CrazySales
2018/02/06 全球购物
领导干部遵守党的政治纪律情况思想汇报
2014/09/14 职场文书
2015年煤矿工作总结
2015/04/28 职场文书
2015年度个人教学工作总结
2015/05/20 职场文书
检举信的写法
2019/04/10 职场文书
日本读研:怎样写好一篇日本研究计划书?
2019/07/15 职场文书
go语言中json数据的读取和写出操作
2021/04/28 Golang