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写的数字拼图小游戏代码[学习参考]
Oct 29 Javascript
idTabs基于JQuery的根据URL参数选择Tab插件
Apr 11 Javascript
jQuery UI Dialog 创建友好的弹出对话框实现代码
Apr 12 Javascript
Javascript玩转继承(三)
May 08 Javascript
基于vue的下拉刷新指令和滚动刷新指令
Dec 23 Javascript
AngularJS使用带属性值的ng-app指令实现自定义模块自动加载的方法
Jan 04 Javascript
jQuery Pagination分页插件_动力节点Java学院整理
Jul 17 jQuery
微信小程序switch开关选择器使用详解
Jan 31 Javascript
Vue的watch和computed方法的使用及区别介绍
Sep 06 Javascript
解决ng-repeat产生的ng-model中取不到值的问题
Oct 02 Javascript
jQuery实现移动端笔触canvas电子签名
May 21 jQuery
微信小程序实现可长按移动控件
Nov 01 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
PHP中的switch语句的用法实例详解
2015/10/21 PHP
php大小写转换函数(strtolower、strtoupper)用法介绍
2017/11/17 PHP
PHP实现求连续子数组最大和问题2种解决方法
2017/12/26 PHP
JavaScript中两种链式调用实现代码
2011/01/12 Javascript
JS方法调用括号的问题探讨
2014/01/24 Javascript
解决JS无法调用Controller问题的方法
2015/12/31 Javascript
JavaScript中style.left与offsetLeft的使用及区别详解
2016/06/08 Javascript
Bootstrap CSS布局之表格
2016/12/17 Javascript
Vue列表页渲染优化详解
2017/07/24 Javascript
javascript 中事件冒泡和事件捕获机制的详解
2017/09/01 Javascript
nodejs结合socket.io实现websocket通信功能的方法
2018/01/12 NodeJs
基于打包工具Webpack进行项目开发实例
2018/05/29 Javascript
vue实现菜单切换功能
2019/05/08 Javascript
jQuery实现朋友圈查看图片
2020/09/11 jQuery
Python中类的定义、继承及使用对象实例详解
2015/04/30 Python
Python中的复制操作及copy模块中的浅拷贝与深拷贝方法
2016/07/02 Python
python3 requests中使用ip代理池随机生成ip的实例
2018/05/07 Python
pytorch获取vgg16-feature层输出的例子
2019/08/20 Python
你还在@微信官方?聊聊Python生成你想要的微信头像
2019/09/25 Python
ivx平台开发之不用代码实现一个九宫格抽奖功能
2021/01/27 HTML / CSS
购买一个高级域名:BuyDomains
2018/03/11 全球购物
普通PHP程序员笔试题
2016/01/01 面试题
经典优秀毕业生求职信范文分享
2013/12/18 职场文书
汽车装潢店创业计划书范文
2014/02/05 职场文书
外语专业毕业生自荐信
2014/04/14 职场文书
小学生安全演讲稿
2014/04/25 职场文书
企业文化理念标语
2014/06/10 职场文书
安全生产一岗双责责任书
2014/07/28 职场文书
中学生爱国演讲稿
2014/09/05 职场文书
二手房购房协议书范本
2014/10/05 职场文书
四年级数学上册教学计划
2015/01/20 职场文书
2015年领导干部廉洁自律工作总结
2015/05/26 职场文书
学习社交礼仪心得体会
2016/01/22 职场文书
JavaScript 防篡改对象的用法示例
2021/04/24 Javascript
Unity连接MySQL并读取表格数据的实现代码
2021/06/20 MySQL
Python 数据科学 Matplotlib图库详解
2021/07/07 Python