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 相关文章推荐
用jscript实现新建word文档
Jun 15 Javascript
javascript开发技术大全-第1章javascript概述
Jul 03 Javascript
JQuery中extend使用介绍
Mar 13 Javascript
JavaScript中的call方法和apply方法使用对比
Aug 12 Javascript
jquery实现向下滑出的二级导航下滑菜单效果
Aug 25 Javascript
JS获取IMG图片高宽的简单实例
May 17 Javascript
JS处理数据四舍五入(tofixed与round的区别详解)
Oct 26 Javascript
js正则相关知识点专题
May 10 Javascript
详解vue中组件参数
Jul 09 Javascript
Node.js 实现远程桌面监控的方法步骤
Jul 02 Javascript
javascript+Canvas实现画板功能
Jun 23 Javascript
JavaScript中如何调用Java方法
Sep 16 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中$_SERVER的详细参数与说明
2008/07/29 PHP
PHP将HTML转换成文本的实现代码
2015/01/21 PHP
实现PHP框架系列文章(6)mysql数据库方法
2016/03/04 PHP
PHP面向对象程序设计OOP继承用法入门示例
2016/12/27 PHP
Thinkphp5 微信公众号token验证不成功的原因及解决方法
2017/11/12 PHP
PHP有序表查找之插值查找算法示例
2018/02/10 PHP
jWiard 基于JQuery的强大的向导控件介绍
2011/10/28 Javascript
jQuery获取对象简单实现方法小结
2014/10/30 Javascript
给before和after伪元素设置js效果的方法
2015/12/04 Javascript
Position属性之relative用法
2015/12/14 Javascript
Bootstrap网格系统详解
2016/04/26 Javascript
Javascript HTML5 Canvas实现的一个画板
2020/04/12 Javascript
浅谈JavaScript的全局变量与局部变量
2016/06/10 Javascript
JavaScript简单计算人的年龄示例
2017/04/15 Javascript
Angular.js指令学习中一些重要属性的用法教程
2017/05/24 Javascript
vue日历/日程提醒/html5本地缓存功能
2019/09/02 Javascript
JavaScript实现像雪花一样的Hexaflake分形
2020/07/07 Javascript
Windows下安装python MySQLdb遇到的问题及解决方法
2017/03/16 Python
Python简单实现Base64编码和解码的方法
2017/04/29 Python
python验证码识别实例代码
2018/02/03 Python
python-tkinter之按钮的使用,开关方法
2019/06/11 Python
在VS2017中用C#调用python脚本的实现
2019/07/31 Python
Python Django框架url反向解析实现动态生成对应的url链接示例
2019/10/18 Python
Pytorch使用MNIST数据集实现基础GAN和DCGAN详解
2020/01/10 Python
opencv-python的RGB与BGR互转方式
2020/06/02 Python
基于Python pyecharts实现多种图例代码解析
2020/08/10 Python
CSS3中几个新增加的盒模型属性使用教程
2016/03/01 HTML / CSS
专科毕业生自我鉴定
2013/12/01 职场文书
求职简历中个人的自我评价
2013/12/25 职场文书
公务员综合考察材料
2014/02/01 职场文书
转预备党员政审材料
2014/02/06 职场文书
建筑工地资料员岗位职责
2015/04/13 职场文书
2015年结对帮扶工作总结
2015/05/04 职场文书
基于Python绘制子图及子图刻度的变换等的问题
2021/05/23 Python
Oracle配置dblink访问PostgreSQL的操作方法
2022/03/21 PostgreSQL
springboot应用服务启动事件的监听实现
2022/04/06 Java/Android