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
让人印象深刻的10个jQuery手风琴效果应用
May 08 Javascript
用JavaScript实现动画效果的方法
Jul 20 Javascript
调用jQuery滑出效果时闪烁的解决方法
Mar 27 Javascript
浅谈Javascript如何实现匀速运动
Dec 19 Javascript
zTree插件下拉树使用入门教程
Apr 11 Javascript
jQuery基础的工厂函数以及定时器的经典实例分析
May 20 Javascript
JQuery Mobile 弹出式登录框的实现方法
May 28 Javascript
浅谈JavaScript中的分支结构
Jul 01 Javascript
酷! 不同风格页面布局幻灯片特效js实现
Feb 19 Javascript
Bootstrap 实现表格样式、表单布局的实例代码
Dec 09 Javascript
Vue项目如何引入bootstrap、elementUI、echarts
Nov 26 Vue.js
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 获取当前访问的url文件名的方法小结
2010/02/08 PHP
创建配置文件 用PHP写出自己的BLOG系统 2
2010/04/12 PHP
PHP 7.0.2 正式版发布
2016/01/08 PHP
PHP数组的定义、初始化和数组元素的显示实现代码
2016/11/05 PHP
php7函数,声明,返回值等新特性介绍
2018/05/25 PHP
ThinkPHP框架整合微信支付之Native 扫码支付模式一图文详解
2019/04/09 PHP
JavaScript中实现Map的示例代码
2015/09/09 Javascript
JavaScript实现跟随滚动缓冲运动广告框
2017/07/15 Javascript
Vue手把手教你撸一个 beforeEnter 钩子函数
2018/04/24 Javascript
js实现延迟加载的几种方法详解
2019/01/19 Javascript
Nodejs核心模块之net和http的使用详解
2019/04/02 NodeJs
Javascript和jquery在selenium的使用过程
2019/10/31 jQuery
Vue实现菜单切换功能
2020/11/08 Javascript
python使用arp欺骗伪造网关的方法
2015/04/24 Python
Python使用email模块对邮件进行编码和解码的实例教程
2016/07/01 Python
Win8.1下安装Python3.6提示0x80240017错误的解决方法
2018/07/31 Python
pandas基于时间序列的固定时间间隔求均值的方法
2019/07/04 Python
Python中SQLite如何使用
2020/05/27 Python
如何表示python中的相对路径
2020/07/08 Python
浅谈python处理json和redis hash的坑
2020/07/16 Python
python 服务器运行代码报错ModuleNotFoundError的解决办法
2020/09/16 Python
Rakuten Kobo台湾:电子书、eReaders和Reading应用程式
2017/11/24 全球购物
理肤泉加拿大官网:La Roche-Posay加拿大
2018/07/06 全球购物
荷兰音乐会和音乐剧门票订购网站:Topticketshop
2019/08/27 全球购物
Jones Bootmaker官网:优质靴子和鞋子在线
2020/11/30 全球购物
高中自我鉴定范文
2013/11/03 职场文书
单位成立周年感言
2014/01/26 职场文书
教师开学感言
2014/02/14 职场文书
运动会班级口号
2014/06/09 职场文书
2014年预算员工作总结
2014/12/05 职场文书
七一建党节慰问信
2015/02/14 职场文书
张思德观后感
2015/06/09 职场文书
党员观看《筑梦中国》心得体会
2016/01/18 职场文书
springboot+VUE实现登录注册
2021/05/27 Vue.js
MySQL详细讲解变量variables的用法
2022/06/21 MySQL
python数字图像处理:图像简单滤波
2022/06/28 Python