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 对象、函数和继承
Jul 07 Javascript
JQuery的Ajax请求实现局部刷新的简单实例
Feb 11 Javascript
jQuery弹出框代码封装DialogHelper
Jan 30 Javascript
浅析jquery如何判断滚动条滚到页面底部并执行事件
Apr 29 Javascript
Angularjs中ng-repeat-start与ng-repeat-end的用法实例介绍
Dec 31 Javascript
Vue实现选择城市功能
May 27 Javascript
javascript浏览器用户代理检测脚本实现方法
Oct 27 Javascript
Vue2仿淘宝实现省市区三级联动
Apr 15 Javascript
在knockoutjs 上自己实现的flux(实例讲解)
Dec 18 Javascript
JS自定义对象创建与简单使用方法示例
Jan 15 Javascript
Nuxt配置Element-UI按需引入的操作方法
Jul 06 Javascript
jQuery是用来干什么的 jquery其实就是一个js框架
Feb 04 jQuery
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获取当前网址url并替换参数或网址的方法
2010/06/06 PHP
php版微信js-sdk支付接口类用法示例
2016/10/12 PHP
thinkPHP+ajax实现统计页面pv浏览量的方法
2017/03/15 PHP
JavaScript 面向对象之命名空间
2010/05/04 Javascript
JQuery操作Select的Options的Bug(IE8兼容性视图模式)
2013/04/21 Javascript
使用Java实现简单的server/client回显功能的方法介绍
2013/05/03 Javascript
向左滚动文字 js代码效果
2013/08/17 Javascript
探讨JavaScript中声明全局变量三种方式的异同
2013/12/03 Javascript
JS弹出层单纯的绝对定位居中示例代码
2014/02/18 Javascript
JQuery中serialize()用法实例分析
2015/02/06 Javascript
AngularJS快速入门
2015/04/02 Javascript
JS基于FileSystemObject创建一个指定路径的TXT文本文件
2015/08/05 Javascript
SpringMVC返回json数据的三种方式
2015/12/10 Javascript
AngularJS基础 ng-paste 指令简单示例
2016/08/02 Javascript
JavaScript中的this引用(推荐)
2016/08/05 Javascript
详解Javascript ES6中的箭头函数(Arrow Functions)
2016/08/24 Javascript
Vue.js 2.0 和 React、Augular等其他前端框架大比拼
2016/10/08 Javascript
在使用JSON格式处理数据时应该注意的问题小结
2017/05/20 Javascript
微信小程序使用Socket的实例
2017/09/19 Javascript
Angular 容器部署的方法
2018/04/17 Javascript
JS基于开关思想实现的数组去重功能【案例】
2019/02/18 Javascript
js图数据结构处理 迪杰斯特拉算法代码实例
2019/09/11 Javascript
vue 验证码界面实现点击后标灰并设置div按钮不可点击状态
2019/10/28 Javascript
Python实现把数字转换成中文
2015/06/29 Python
Python多进程机制实例详解
2015/07/02 Python
Python scikit-learn 做线性回归的示例代码
2017/11/01 Python
python实现诗歌游戏(类继承)
2019/02/26 Python
使用keras内置的模型进行图片预测实例
2020/06/17 Python
Python3如何实现Win10桌面自动切换
2020/08/11 Python
python爬取抖音视频的实例分析
2021/01/19 Python
检测用户浏览器是否支持CSS3的方法
2009/08/29 HTML / CSS
英国最大线上综合鞋类商城:Office
2017/12/08 全球购物
Java软件工程师综合面试题笔试题
2013/09/08 面试题
数控技术专科生自我评价
2014/01/08 职场文书
就业协议书样本
2014/08/20 职场文书
师德标兵先进事迹材料
2014/12/19 职场文书