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 键盘事件的几个基本方法
Oct 30 Javascript
js类式继承的具体实现方法
Dec 31 Javascript
javascript页面上使用动态时间具体实现
Mar 18 Javascript
js简单的点击返回顶部效果实现方法
Apr 10 Javascript
Js得到radiobuttonlist选中值的两种方法(推荐)
Aug 25 Javascript
ES6中Iterator与for..of..遍历用法分析
Mar 31 Javascript
详解angularjs利用ui-route异步加载组件
May 21 Javascript
jQuery列表检索功能实现代码
Jul 17 jQuery
基于Vue开发数字输入框组件
Dec 19 Javascript
Angular2 父子组件通信方式的示例
Jan 29 Javascript
jQuery操作attr、prop、val()/text()/html()、class属性
May 23 jQuery
Javascript新手入门之字符串拼接与变量的应用
Dec 03 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
《被神捡到的男人》动画化计划进行中!
2020/03/06 日漫
《魔兽争霸3》重制版究竟重制了什么?玩家:这么糊弄真的好吗?
2020/05/04 魔兽争霸
在线竞拍系统的PHP实现框架(一)
2006/10/09 PHP
PHP检测移动设备类mobile detection使用实例
2014/04/14 PHP
php+mysqli使用面向对象方式更新数据库实例
2015/01/29 PHP
PHP中使用register_shutdown_function函数截获fatal error示例
2015/04/21 PHP
简单的js分页脚本
2009/05/21 Javascript
JavaScript的document对象和window对象详解
2010/12/30 Javascript
30个最好的jQuery 灯箱插件分享
2011/04/25 Javascript
js调用浏览器打印模块实现点击按钮触发自定义函数
2014/03/21 Javascript
jQuery.holdReady()使用方法
2014/05/20 Javascript
浅谈JS中逗号运算符的用法
2016/06/12 Javascript
javascript实现随机生成DIV背景色
2016/06/20 Javascript
jquery实现页面加载效果
2017/02/21 Javascript
vue如何通过id从列表页跳转到对应的详情页
2018/05/01 Javascript
移动端手指操控左右滑动的菜单
2019/09/08 Javascript
layer iframe 设置关闭按钮的方法
2019/09/12 Javascript
layer.prompt输入层的例子
2019/09/24 Javascript
vue中音频wavesurfer.js的使用方法
2020/02/20 Vue.js
如何手写简易的 Vue Router
2020/10/10 Javascript
Python 抓取动态网页内容方案详解
2014/12/25 Python
windows下Python实现将pdf文件转化为png格式图片的方法
2017/07/21 Python
Python爬虫——爬取豆瓣电影Top250代码实例
2019/04/17 Python
基于python实现生成指定大小txt文档
2020/07/20 Python
python UDF 实现对csv批量md5加密操作
2021/01/01 Python
你可能不熟练的十个前端HTML5经典面试题
2018/07/03 HTML / CSS
英国广泛的照明产品网站:Lights4living
2018/01/28 全球购物
我的理想演讲稿
2014/04/30 职场文书
优秀德育工作者事迹材料
2014/05/07 职场文书
铣床操作工岗位职责
2014/06/13 职场文书
2014年行风建设工作总结
2014/12/01 职场文书
创建文明城市倡议书
2015/04/28 职场文书
中秋节主题班会
2015/08/14 职场文书
85句关于理想的名言警句大全
2019/08/22 职场文书
Vue接口封装的完整步骤记录
2021/05/14 Vue.js
mysql中整数数据类型tinyint详解
2021/12/06 MySQL