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 相关文章推荐
用JQuery在网页中实现分隔条功能的代码
Aug 09 Javascript
javascript中比较字符串是否相等的方法
Jul 23 Javascript
js获取url中指定参数值的示例代码
Dec 14 Javascript
常用jQuery选择器总结
Jul 11 Javascript
js表单提交和submit提交的区别实例分析
Dec 10 Javascript
AngularJS向后端ASP.NET API控制器上传文件
Feb 03 Javascript
每个程序员都需要学习 JavaScript 的7个理由小结
Sep 03 Javascript
Node.js如何实现注册邮箱激活功能 (常见)
Jul 23 Javascript
JS计算距当前时间的时间差实例
Dec 29 Javascript
一步步教你利用webpack如何搭一个vue脚手架(超详细讲解和注释)
Jan 08 Javascript
Vue实现PopupWindow组件详解
Apr 28 Javascript
vue实现分页组件
Jun 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
VML绘图板②脚本--VMLgraph.js、XMLtool.js
2006/10/09 PHP
解析mysql 表中的碎片产生原因以及清理
2013/06/22 PHP
yii框架表单模型使用及以数组形式提交表单数据示例
2014/04/30 PHP
php如何实现只替换一次或N次
2015/10/29 PHP
关于使用runtimeStyle属性问题讨论文章
2007/03/08 Javascript
Prototype Date对象 学习
2009/07/12 Javascript
浅析javascript闭包 实例分析
2010/12/25 Javascript
JqGrid web打印实现代码
2011/05/31 Javascript
js(jQuery)获取时间的方法及常用时间类搜集
2013/10/23 Javascript
JS仿百度搜索自动提示框匹配查询功能
2013/11/21 Javascript
js 操作符汇总
2014/11/08 Javascript
jQuery实现仿Google首页拖动效果的方法
2015/05/04 Javascript
Centos7 中安装 Node.js v4.4.4
2016/11/03 Javascript
jquery实现企业定位式导航效果
2018/01/01 jQuery
vue axios 在页面切换时中断请求方法 ajax
2018/03/05 Javascript
layui将table转化表单显示的方法(即table.render转为表单展示)
2019/09/24 Javascript
[02:36]DOTA2亚洲邀请赛小组赛精彩集锦:奇迹哥卡尔秀翻全场
2017/03/28 DOTA
python实现博客文章爬虫示例
2014/02/26 Python
python中xrange用法分析
2015/04/15 Python
简单介绍Python的Tornado框架中的协程异步实现原理
2015/04/23 Python
Django中cookie的基本使用方法示例
2018/02/03 Python
python 对key为时间的dict排序方法
2018/10/17 Python
Python绘制股票移动均线的实例
2019/08/24 Python
python内置模块collections知识点总结
2019/12/19 Python
pytorch nn.Conv2d()中的padding以及输出大小方式
2020/01/10 Python
css3 按钮 利用css3实现超酷下载按钮
2013/03/18 HTML / CSS
美国当红的名品折扣网:Gilt Groupe
2016/08/15 全球购物
小橄榄树:Le Petit Olivier
2018/04/23 全球购物
定义一结构体变量,用其表示点坐标,并输入两点坐标,求两点之间的距离
2015/08/17 面试题
工作时间擅自离岗检讨书
2014/10/24 职场文书
小学一年级数学教学计划
2015/01/20 职场文书
2015年五四青年节活动总结
2015/02/10 职场文书
管辖权异议上诉状
2015/05/23 职场文书
2015年语文教师工作总结
2015/05/25 职场文书
大学校园餐饮创业计划书
2019/08/07 职场文书
iPhone13再次曝光
2021/04/15 数码科技