3种vue路由传参的基本模式


Posted in Javascript onFebruary 22, 2018

路由是连接各个页面的桥梁,而参数在其中扮演者异常重要的角色,在一定意义上,决定着两座桥梁是否能够连接成功。

在vue路由中,支持3中传参方式。

场景,点击父组件的li元素跳转到子组件中,并携带参数,便于子组件获取对应li的数据,显示相应的正确的内容。

父组件中:

<li v-for="article in articles" @click="getDescribe(article.id)">

方案一:

getDescribe(id) {
// 直接调用$router.push 实现携带参数的跳转
    this.$router.push({
     path: `/describe/${id}`,
    })

// 方案一,需要对应路由配置如下:
  {
   path: '/describe/:id',
   name: 'Describe',
   component: Describe
  }
// 很显然,需要在path中添加/:id来对应 $router.push 中path携带的参数。

// 在子组件中可以使用来获取传递的参数值。
$route.params.id

方案二:

// 父组件中:通过路由属性中的name来确定匹配的路由,通过params来传递参数。
    this.$router.push({
     name: 'Describe',
     params: {
      id: id
     }
    })

// 对应路由配置: 注意这里不能使用:/id来传递参数了,因为父组件中,已经使用params来携带参数了。
  {
   path: '/describe',
   name: 'Describe',
   component: Describe
  }

//子组件中: 这样来获取参数
$route.params.id

方案三:

// 父组件:使用path来匹配路由,然后通过query来传递参数
这种情况下 query传递的参数会显示在url后面?id=?
  this.$router.push({
     path: '/describe',
     query: {
      id: id
     }
    })

// 对应路由配置:
  {
   path: '/describe',
   name: 'Describe',
   component: Describe
  }

// 对应子组件: 这样来获取参数
$route.query.id

// 这里要特别注意 在子组件中 获取参数的时候是$route.params 而不是
$router 这很重要~~~

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js 页面刷新location.reload和location.replace的区别小结
Dec 24 Javascript
JavaScript的递归之递归与循环示例介绍
Aug 05 Javascript
多种方法实现360浏览器下禁止自动填写用户名密码
Jun 16 Javascript
js实现分享到随页面滚动而滑动效果的方法
Apr 10 Javascript
关于input全选反选恶心的异常情况
Jul 24 Javascript
JS中利用swiper实现3d翻转幻灯片实例代码
Aug 25 Javascript
Angular4学习笔记router的简单使用
Mar 30 Javascript
使用Angular CLI快速创建Angular项目的一些基本概念和写法小结
Apr 22 Javascript
vue 属性拦截实现双向绑定的实例代码
Oct 24 Javascript
JavaScript面向对象程序设计中对象的定义和继承详解
Jul 29 Javascript
vue-router两种模式区别及使用注意事项详解
Aug 01 Javascript
js动态获取时间的方法分析
Aug 02 Javascript
webpack打包并将文件加载到指定的位置方法
Feb 22 #Javascript
vue2.0 elementUI制作面包屑导航栏
Feb 22 #Javascript
webpack将js打包后的map文件详解
Feb 22 #Javascript
浅谈用Webpack路径压缩图片上传尺寸获取的问题
Feb 22 #Javascript
深入理解ES6中let和闭包
Feb 22 #Javascript
vue+iview+less+echarts实战项目总结
Feb 22 #Javascript
在vscode中统一vue编码风格的方法
Feb 22 #Javascript
You might like
MOTOROLA 摩托罗拉 MODEL 66-XI五灯中波收音机
2021/03/02 无线电
《PHP编程最快明白》第二讲 数字、浮点、布尔型、字符串和数组
2010/11/01 PHP
php中根据变量的类型 选择echo或dump
2012/07/05 PHP
基于php iconv函数的使用详解
2013/06/09 PHP
php计算指定目录下文件占用空间的方法
2015/03/13 PHP
PHP实现的限制IP投票程序IP来源分析
2016/05/04 PHP
PHP实现将标点符号正则替换为空格的方法
2017/08/09 PHP
PHP使用zlib扩展实现GZIP压缩输出的方法详解
2018/04/09 PHP
Prototype源码浅析 Enumerable部分之each方法
2012/01/16 Javascript
基于jQuery实现放大镜特效
2020/10/19 Javascript
Angularjs过滤器实现动态搜索与排序功能示例
2017/12/13 Javascript
详解如何在nuxt中添加proxyTable代理
2018/08/10 Javascript
浅谈webpack4 图片处理汇总
2018/09/12 Javascript
layuiAdmin循环遍历展示商品图片列表的方法
2019/09/16 Javascript
在vue中动态添加class类进行显示隐藏实例
2019/11/09 Javascript
vue项目中使用多选框的实例代码
2020/07/22 Javascript
[15:57]教你分分钟做大人:斧王
2014/10/30 DOTA
[01:20]DOTA2 2017国际邀请赛冠军之路无止竞
2017/06/19 DOTA
Python 检查数组元素是否存在类似PHP isset()方法
2014/10/14 Python
Python实现的读写json文件功能示例
2018/06/05 Python
python儿童学游戏编程知识点总结
2019/06/03 Python
TensorFlow实现checkpoint文件转换为pb文件
2020/02/10 Python
python 实现音频叠加的示例
2020/10/29 Python
Python self用法详解
2020/11/28 Python
香港唯港荟酒店预订:Hotel ICON
2018/03/27 全球购物
Zatchels官网:英国剑桥包品牌
2021/01/12 全球购物
趣味活动策划方案
2014/02/08 职场文书
运动会入场口号
2014/06/07 职场文书
机械电子工程专业求职信
2014/06/22 职场文书
婚姻出轨保证书
2015/05/08 职场文书
建党伟业观后感
2015/06/01 职场文书
四十年同学聚会致辞
2015/07/28 职场文书
教师网络培训心得体会
2016/01/09 职场文书
2016年全国爱牙日宣传活动总结
2016/04/05 职场文书
Redis实现订单自动过期功能的示例代码
2021/05/08 Redis
MySQL创建管理HASH分区
2022/04/13 MySQL