vue跳转同一个组件,参数不同,页面接收值只接收一次的解决方法


Posted in Javascript onNovember 05, 2019

作为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;
 }

当我循环输出这些链接,每个链接的地址都是一样的。参数不一样,当我们点击我们的按钮时

vue跳转同一个组件,参数不同,页面接收值只接收一次的解决方法

我们只会看到导航栏中的参数在变化,然而我们页面中的数并没有变化。这是为什么呢?

相信很多朋友也已经知道了,这是因为跳转同一个组件,这个组件在第一次,会执行组件的生命周期中的步骤,但是第二次再跳转该组件的时候,组件会被重用,所以不会再执行生命周期中的某些过程,同样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跳转同一个组件,参数不同,页面接收值只接收一次的解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
如何快速的呈现我们的网页的技巧整理
Jul 01 Javascript
javascript String 对象
Apr 25 Javascript
css把超出的部分显示为省略号的方法兼容火狐
Jul 23 Javascript
jquery中获得$.ajax()事件返回的值并添加事件的方法
Apr 15 Javascript
js控制div弹出层实现方法
May 11 Javascript
JS使用eval解析JSON的注意事项分析
Nov 14 Javascript
js控制TR的显示隐藏
Mar 04 Javascript
JS事件添加和移出的兼容写法示例
Jun 20 Javascript
BootStrop前端框架入门教程详解
Dec 25 Javascript
jQuery实现的下雪动画效果示例【附源码下载】
Feb 02 jQuery
webpack打包优化的几个方法总结
Feb 10 Javascript
js实现坦克大战游戏
Feb 24 Javascript
vue Tab切换以及缓存页面处理的几种方式
Nov 05 #Javascript
vue动态路由:路由参数改变,视图不更新问题的解决
Nov 05 #Javascript
vue 解决路由只变化参数页面组件不更新问题
Nov 05 #Javascript
vue 实现路由跳转时更改页面title
Nov 05 #Javascript
Node.js开发之套接字(socket)编程入门示例
Nov 05 #Javascript
小程序识别身份证,银行卡,营业执照,驾照的实现
Nov 05 #Javascript
node.js域名解析实现方法详解
Nov 05 #Javascript
You might like
PHP JSON格式数据交互实例代码详解
2011/01/13 PHP
php生成excel列序号代码实例
2013/12/24 PHP
PHP统一页面编码避免乱码问题
2015/04/09 PHP
PHP模拟http请求的方法详解
2016/11/09 PHP
一端时间轮换的广告
2006/06/26 Javascript
关于js拖拽上传 [一个拖拽上传修改头像的流程]
2011/07/13 Javascript
JQuery中基础过滤选择器用法实例分析
2015/05/18 Javascript
jquery实现鼠标经过显示下划线的渐变下拉菜单效果代码
2015/08/24 Javascript
js实现iframe框架取值的方法(兼容IE,firefox,chrome等)
2015/11/26 Javascript
jQuery拖动元素并对元素进行重新排序
2015/12/30 Javascript
基于jQuery封装的分页组件
2017/06/26 jQuery
vue的事件绑定与方法详解
2017/08/16 Javascript
Vue用v-for给src属性赋值的方法
2018/03/03 Javascript
JavaScript中call和apply方法的区别实例分析
2018/08/03 Javascript
nodejs更新package.json中的dependencies依赖到最新版本的方法
2018/10/10 NodeJs
微信小程序获取当前位置和城市名
2019/11/13 Javascript
微信小程序实现签字功能
2019/12/23 Javascript
vue实现员工信息录入功能
2020/06/11 Javascript
利用JavaScript为句子加标题的3种方法示例
2021/01/05 Javascript
[00:20]DOTA2荣耀之路7:-ah fu-抢盾
2018/05/31 DOTA
[40:03]Liquid vs Optic 2018国际邀请赛淘汰赛BO3 第一场 8.21
2018/08/22 DOTA
[01:13:18]Secret vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.23
2019/09/05 DOTA
[02:03]风行者至宝清风环佩外观展示
2020/09/05 DOTA
Python实现针对json中某个关键字段进行排序操作示例
2018/12/25 Python
python实现扫描局域网指定网段ip的方法
2019/04/16 Python
python绘制彩虹图
2019/12/16 Python
浅谈keras.callbacks设置模型保存策略
2020/06/18 Python
详解pandas映射与数据转换
2021/01/22 Python
ECCO爱步加拿大官网:北欧丹麦鞋履及皮具品牌
2017/07/08 全球购物
党员干部廉洁承诺书
2014/05/28 职场文书
班级元旦晚会开幕词
2015/01/29 职场文书
投资申请报告
2015/05/19 职场文书
生日宴会祝酒词
2015/08/10 职场文书
gtx1650怎么样 gtx1650显卡相当于什么级别
2022/04/08 数码科技
mysql 排序失效
2022/05/20 MySQL
win10忘记pin密码登录不了怎么办?win10忘记pin密码登不进去的解决方法
2022/07/07 数码科技