vue中监听路由参数的变化及方法


Posted in Javascript onDecember 06, 2019

在vue项目中,假使我们在同一个路由下,只是改变路由后面的参数值,期望达到数据的更新。

mounted: () =>{
   this.id = this.$route.query.id;
   this.getdetail()
}

getDetail()方法中会用到this.id这个参数,在同一页面切换id的值,并不会触发vue的声明周期函数。

可以添加路由监听:

watch: {
  $route: {
     handler() {
       this.id = this.$route.query.id;
       this.getDetail();
       //深度监听,同时也可监听到param参数变化
    },
    deep: true,
  }
 }

ps:下面看下vue中监听路由参数变化的方法

在vue项目中,假使我们在同一个路由下,只是改变路由后面的参数值,如果不监听路由参数值的变化,页面无数据刷新,需手动刷新浏览器,这样做就不是我们的预期效果。

举例:当前路由为  /pjthome?pjtid=123456

mounted: function () {
   this.pjtid = this.$route.query.pjtid
   this.pjtdetail()
},

在页面pjtdetail()方法中,需要用到pjtid这个参数,假如在同一页面有相似项目切换,只是pjtid发生变化,在切换时,并未重新加载数据,原因是跟vue的生命周期有关,具体该解决这个问题,添加路由监听即可。

exp:

watch: {
   $route(){
    this.pjtid = this.$route.query.pjtid
   },
   pjtid() {
    this.pjtdetail()
   },
}

解决。

总结

以上所述是小编给大家介绍的vue中监听路由参数的变化及方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
Prototype使用指南之range.js
Jan 10 Javascript
有关JavaScript的10个怪癖和秘密分享
Aug 28 Javascript
Node.js中child_process实现多进程
Feb 03 Javascript
JavaScript制作淘宝星级评分效果的思路
Jun 23 Javascript
jquery实现页面常用的返回顶部效果
Mar 04 Javascript
图文详解JavaScript的原型对象及原型链
Aug 02 Javascript
vue.js单页面应用实例的简单实现
Apr 10 Javascript
详细分析单线程JS执行问题
Nov 22 Javascript
vue.js轮播图组件使用方法详解
Jul 03 Javascript
vue 利用路由守卫判断是否登录的方法
Sep 29 Javascript
深入学习Vue nextTick的用法及原理
Oct 08 Javascript
jQuery表单校验插件validator使用方法详解
Feb 18 jQuery
详解ECMAScript2019/ES10新属性
Dec 06 #Javascript
ES6的异步操作之promise用法和async函数的具体使用
Dec 06 #Javascript
原生JavaScript实现滑动拖动验证的示例代码
Dec 06 #Javascript
微信小程序 自定义弹窗实现过程(附代码)
Dec 05 #Javascript
Nuxt v-bind绑定img src不显示的解决
Dec 05 #Javascript
微信小程序swiper左右扩展各显示一半代码实例
Dec 05 #Javascript
微信小程序顶部导航栏可滑动并选中放大
Dec 05 #Javascript
You might like
通过php删除xml文档内容的方法
2015/01/23 PHP
CentOS安装php v8js教程
2015/02/26 PHP
js获取单选按钮的数据
2006/11/27 Javascript
Javascript 个人笔记(没有整理,很乱)
2007/07/07 Javascript
JQuery里面的几种选择器 查找满足条件的元素$("#控件ID")
2011/08/23 Javascript
JavaScript中的null和undefined解析
2012/04/14 Javascript
jQuery中detach()方法用法实例
2014/12/25 Javascript
jQuery实现限制textarea文本框输入字符数量的方法
2015/05/28 Javascript
JS中生成随机数的用法及相关函数
2016/01/09 Javascript
jQuery ajax调用后台aspx后台文件的两种常见方法(不是ashx)
2016/06/28 Javascript
基于JavaScript定位当前的地理位置
2017/04/11 Javascript
vue中多路由表头吸顶实现的几种布局方式
2019/04/12 Javascript
vue 父组件给子组件传值子组件给父组件传值的实例代码
2019/04/15 Javascript
jquery实现下载图片功能
2019/07/18 jQuery
Vue formData实现图片上传
2019/08/20 Javascript
[01:11:08]Winstrike vs NB 2018国际邀请赛淘汰赛BO1 8.21
2018/08/22 DOTA
python有证书的加密解密实现方法
2014/11/19 Python
Python中使用dom模块生成XML文件示例
2015/04/05 Python
Phantomjs抓取渲染JS后的网页(Python代码)
2016/05/13 Python
Python中装饰器高级用法详解
2017/12/25 Python
python实现简单名片管理系统
2018/11/30 Python
Python安装selenium包详细过程
2019/07/23 Python
python groupby 函数 as_index详解
2019/12/16 Python
flask框架渲染Jinja模板与传入模板变量操作详解
2020/01/25 Python
python删除某个目录文件夹的方法
2020/05/26 Python
Python StringIO及BytesIO包使用方法解析
2020/06/15 Python
python通过cython加密代码
2020/12/11 Python
经理秘书找工作求职信
2013/12/19 职场文书
甜品蛋糕店创业计划书范文
2014/02/06 职场文书
精神文明单位申报材料
2014/05/02 职场文书
电话客服专员岗位职责
2014/06/28 职场文书
2014年学校教学工作总结
2014/12/06 职场文书
2015年12.4全国法制宣传日活动总结
2015/03/24 职场文书
基于Redis过期事件实现订单超时取消
2021/05/08 Redis
CSS3实现列表无限滚动/轮播效果
2021/06/23 HTML / CSS
Vertica集成Apache Hudi重磅使用指南
2022/03/31 Servers