作为vue的初用者,你可能会像我一样遇到一个问题,对跳转组件是,我们想通过参数不同,调用不同的方法。
例如:
app.vue
<ul> <li class="navList" v-for="index in goods" :key="index.name"> <router-link :to="{path:index.link,query:{type:index.name}}" > {{index.name}} </router-link> </li> </ul>
app…vue中的data数据:
goods:[ {name:'女装',link:'goods'}, {name:'男装',link:'goods'}, ]
在goods.vue中接受数据
mounted(){ this.stri=this.$route.query.type; }
当我循环输出这些链接,每个链接的地址都是一样的。参数不一样,当我们点击我们的按钮时
我们只会看到导航栏中的参数在变化,然而我们页面中的数并没有变化。这是为什么呢?
相信很多朋友也已经知道了,这是因为跳转同一个组件,这个组件在第一次,会执行组件的生命周期中的步骤,但是第二次再跳转该组件的时候,组件会被重用,所以不会再执行生命周期中的某些过程,同样mount也不会执行,也就是说,不会执行第二次赋值。
那我们应该怎么获取值呢?
这里有一个方法:
goods.vue
beforeRouteUpdate(to,from,next){ this.stri=to.query.type; next(); }
beforeRouteUpdate的作用就是监听在当前路由改变,但是该组件被复用时调用
这就是我们所需要的东西了。路由的地址变化了,组件也被复用了。
同样的我能还可以使用另一种监听路由变化的方法:
watch:{ '$route'(to,from){ this.stri=to.query.type } },
这个方法,和上面的beforeRouteUpdate起到一样的效果。
如果你遇到的问题,和我所遇到的一样,那么恭喜你,你也解决了这个问题。
以上这篇vue跳转同一个组件,参数不同,页面接收值只接收一次的解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
标签:
vue,跳转,组件,参数
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
暂无“vue跳转同一个组件,参数不同,页面接收值只接收一次的解决方法”评论...
更新动态
2024年04月29日
2024年04月29日
- 【原神】V4.6角色攻略 | 可莉培养攻略
- 决胜巅峰玛蒂尔达怎么样 技能效果一览
- 射雕手游朱门安甜贫者道寒成就怎么获得
- PUBG官方确认5月14日回归经典艾伦格地图
- 物华弥新迷踪盘第14关怎么过 迷踪盘第14关通关方法
- 逆水寒手游1.3.2馆藏上新介绍 逆水寒手游馆藏更新了什么
- 物华弥新迷踪盘第1关怎么过 迷踪盘第1关通关方法
- win7没密钥怎么永久激活,w7系统激活密钥一键激活方法
- 怎么安装电脑系统版本,怎么安装电脑的系统
- 苹果电脑wps安装字体,苹果电脑wps怎么设置字体
- 活力美少女!《摇曳露营△》各务原抚子&志摩凛手办
- 《哥斯拉大战金刚2》票房破9亿 观影人次达2100万!
- 全新IP!《寂静岭2:重制版》开发商正在开发两款新作
- FlorilegiumandAshleySolomon-Haydn-SymphoniesNos.6,7,8LeMatin,Lemidi,LeSoir[flac]
- [PTC5186211]花痴系列-柏辽兹-幻想交响曲,Op.14-小泽征尔-波士顿交响乐团iso