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 相关文章推荐
javascript数据结构之二叉搜索树实现方法
Nov 25 Javascript
jQuery插件之jQuery.Form.js用法实例分析(附demo示例源码)
Jan 04 Javascript
jquery实现下拉框功能效果【实例代码】
May 06 Javascript
微信小程序 表单Form实例详解(附源码)
Dec 22 Javascript
javascript中json对象json数组json字符串互转及取值方法
Apr 19 Javascript
微信小程序-横向滑动scroll-view隐藏滚动条
Apr 20 Javascript
基于vue2.0实现的级联选择器
Jun 09 Javascript
javascript函数的节流[throttle]与防抖[debounce]
Nov 15 Javascript
JS实现的找零张数最小问题示例
Nov 28 Javascript
vue cli 3.0 搭建项目的图文教程
May 17 Javascript
js实现带有动画的返回顶部
Aug 09 Javascript
针对Vue路由history模式下Nginx后台配置操作
Oct 22 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
做个自己站内搜索引擎
2006/10/09 PHP
php随机抽奖实例分析
2015/03/04 PHP
AJAX PHP无刷新form表单提交的简单实现(推荐)
2016/09/09 PHP
微信公众号模板消息群发php代码示例
2016/12/29 PHP
PHP的重载使用魔术方法代码实例详解
2021/02/26 PHP
JavaScript 浮点数运算 精度问题
2009/10/06 Javascript
javascript之学会吝啬 精简代码
2010/04/25 Javascript
基于jQuery.Validate验证库知识点的详解
2013/04/26 Javascript
全面理解面向对象的 JavaScript(来自ibm)
2013/11/10 Javascript
JS获取计算机mac地址以及IP的实现方法
2014/01/08 Javascript
JS中怎样判断undefined(比较不错的方法)
2014/03/27 Javascript
Bootstrap入门书籍之(五)导航条、分页导航
2016/02/17 Javascript
jQuery基于muipicker实现仿ios时间选择
2016/02/22 Javascript
js实现手机拍照上传功能
2017/01/17 Javascript
JS实现自定义状态栏动画文字效果示例
2017/10/12 Javascript
webpack 从指定入口文件中提取公共文件的方法
2018/11/13 Javascript
使用vue完成微信公众号网页小记(推荐)
2019/04/28 Javascript
从零撸一个pc端vue的ui组件库( 计数器组件 )
2019/08/08 Javascript
利用JavaScript为句子加标题的3种方法示例
2021/01/05 Javascript
[28:42]Ti4正赛VG vs NEWBEE1
2014/07/19 DOTA
[53:03]Optic vs TNC 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
[59:59]EG vs IG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python实现查找两个字符串中相同字符并输出的方法
2015/07/11 Python
Python操作使用MySQL数据库的实例代码
2017/05/25 Python
python3实现全角和半角字符转换的方法示例
2017/09/21 Python
python机器学习之神经网络(一)
2017/12/20 Python
python opencv之SURF算法示例
2018/02/24 Python
Python3实现转换Image图片格式
2018/06/21 Python
Python使用Shelve保存对象方法总结
2019/01/28 Python
Python 网络编程之TCP客户端/服务端功能示例【基于socket套接字】
2019/10/12 Python
pytorch获取模型某一层参数名及参数值方式
2019/12/30 Python
Python StringIO及BytesIO包使用方法解析
2020/06/15 Python
英国领先的男装设计师服装购物网站:Mainline Menswear
2018/02/04 全球购物
印刷技术专业自荐信
2014/09/18 职场文书
高考学习决心书
2015/02/04 职场文书
车位出租协议书范本
2016/03/19 职场文书