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 相关文章推荐
超强的IE背景图片闪烁(抖动)的解决办法
Sep 09 Javascript
通过JavaScript控制字体大小的代码
Oct 04 Javascript
JS多物体 任意值 链式 缓冲运动
Aug 10 Javascript
JQuery创建DOM节点的方法
Jun 11 Javascript
Jquery代码实现图片轮播效果(一)
Aug 12 Javascript
javascript弹出窗口实现代码
Nov 12 Javascript
TypeScript Type Innference(类型判断)
Mar 10 Javascript
jQuery实现ToolTip元素定位显示功能示例
Nov 23 Javascript
JavaScript创建对象的七种方式全面总结
Aug 21 Javascript
vue2.0 + element UI 中 el-table 数据导出Excel的方法
Mar 02 Javascript
jQuery插件simplePagination的使用方法示例
Apr 28 jQuery
vue+ElementUI 关闭对话框清空验证,清除form表单的操作
Aug 06 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中的字符串函数
2006/10/09 PHP
js Form.elements[i]的使用实例
2011/11/13 Javascript
js 判断checkbox是否选中的操作方法
2012/11/09 Javascript
IE的事件传递-event.cancelBubble示例介绍
2014/01/12 Javascript
JavaScript数字和字符串转换示例
2014/03/26 Javascript
JavaScript计算某一天是星期几的方法
2015/08/05 Javascript
jQuery实现的分页功能示例
2017/01/22 Javascript
js记录点击某个按钮的次数-刷新次数为初始状态的实例
2017/02/15 Javascript
js利用for in循环获取 一个对象的所有属性以及值的实例
2017/03/30 Javascript
vue子组件使用自定义事件向父组件传递数据
2017/05/27 Javascript
利用jQuery异步上传文件的插件用法详解
2017/07/19 jQuery
Vue组件通信实践记录(推荐)
2017/08/15 Javascript
angular4中关于表单的校验示例
2017/10/16 Javascript
vue-cli开发环境实现跨域请求的方法
2018/04/07 Javascript
vue3.0 CLI - 2.4 - 新组件 Forms.vue 中学习表单
2018/09/14 Javascript
JavaScript Reflect Metadata实现详解
2019/12/12 Javascript
python实现的解析crontab配置文件代码
2014/06/30 Python
对dataframe进行列相加,行相加的实例
2018/06/08 Python
Python Django 命名空间模式的实现
2019/08/09 Python
Django中的session用法详解
2020/03/09 Python
PyCharm 2020 激活到 2100 年的教程
2020/03/25 Python
Keras 快速解决OOM超内存的问题
2020/06/11 Python
Ubuntu权限不足无法创建文件夹解决方案
2020/11/14 Python
HTML5进阶段内联标签汇总(小篇)
2016/07/13 HTML / CSS
公司前台接待岗位职责
2013/12/03 职场文书
一名毕业生的自我鉴定
2013/12/04 职场文书
环境工程专业个人求职信
2013/12/05 职场文书
八年级数学教学反思
2014/01/31 职场文书
《搭石》教学反思
2014/04/07 职场文书
保护地球的标语
2014/06/17 职场文书
小学生纪念九一八事变演讲稿
2014/09/14 职场文书
受伤赔偿协议书
2014/09/24 职场文书
2014乡镇党委副书记对照检查材料思想汇报
2014/10/09 职场文书
2014年节能减排工作总结
2014/12/06 职场文书
小学教师教育随笔
2015/08/14 职场文书
JavaWeb 入门篇:创建Web项目,Idea配置tomcat
2021/07/16 Java/Android