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 对象介绍
Jan 20 Javascript
jquery库文件略庞大用纯js替换jquery的方法
Aug 12 Javascript
JQuery中extend的用法实例分析
Feb 08 Javascript
原生JS实现平滑回到顶部组件
Mar 16 Javascript
关于vue.js弹窗组件的知识点总结
Sep 11 Javascript
JavaScript实现同一个页面打开多张图片
Dec 29 Javascript
jQuery布局组件EasyUI Layout使用方法详解
Feb 28 Javascript
原生JS实现九宫格抽奖效果
Apr 01 Javascript
解决微信二次分享不显示摘要和图片的问题
Aug 18 Javascript
浅谈Angular单元测试总结
Mar 22 Javascript
uniapp与webview之间的相互传值的实现
Jun 29 Javascript
基于javascript原生判断DOM是否加载完毕
Oct 14 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 获取远程网页内容的函数
2009/09/08 PHP
yii2框架中使用下拉菜单的自动搜索yii-widget-select2实例分析
2016/01/09 PHP
控制打印时页眉角的代码
2007/02/08 Javascript
js输出列表实现代码
2010/09/12 Javascript
原生js做的手风琴效果的导航菜单
2013/11/08 Javascript
深入理解JQuery keyUp和keyDown的区别
2013/12/12 Javascript
js图片自动轮播代码分享(js图片轮播)
2014/05/06 Javascript
JavaScript匿名函数用法分析
2015/02/13 Javascript
用javascript实现自动输出网页文本
2015/07/30 Javascript
基于javascript实现图片预加载
2016/01/05 Javascript
JS组件中bootstrap multiselect两大组件较量
2016/01/26 Javascript
Js实现简单的小球运动特效
2016/02/18 Javascript
JavaScript闭包实例详解
2016/06/03 Javascript
jQuery新窗口打开外链接
2016/07/21 Javascript
图文详解Javascript中的上下文和作用域
2017/02/15 Javascript
web.js.字符串与正则表达式操作
2017/05/13 Javascript
详解ES6 Symbol 的用途
2018/10/14 Javascript
express框架中使用jwt实现验证的方法
2019/08/25 Javascript
Vue 中使用富文本编译器wangEditor3的方法
2019/09/26 Javascript
JavaScript Image对象实现原理实例解析
2020/08/26 Javascript
nuxt.js服务端渲染中axios和proxy代理的配置操作
2020/11/06 Javascript
详解template标签用法(含vue中的用法总结)
2021/01/12 Vue.js
用python读写excel的方法
2014/11/18 Python
Python中用pycurl监控http响应时间脚本分享
2015/02/02 Python
python实现通过pil模块对图片格式进行转换的方法
2015/03/24 Python
Python OpenCV实现图片上输出中文
2018/01/22 Python
python 按照固定长度分割字符串的方法小结
2018/04/30 Python
Python3最长回文子串算法示例
2019/03/04 Python
PyQt 实现使窗口中的元素跟随窗口大小的变化而变化
2019/06/18 Python
Python视频编辑库MoviePy的使用
2020/04/01 Python
5 分钟读懂Python 中的 Hook 钩子函数
2020/12/09 Python
基于PyInstaller各参数的含义说明
2021/03/04 Python
Farfetch澳大利亚官网:Farfetch Australia
2020/04/26 全球购物
户外亲子活动策划方案
2014/02/07 职场文书
浅谈redis五大数据结构和使用场景
2021/04/12 Redis
golang正则之命名分组方式
2021/04/25 Golang