参考博客地址:https://blog.51cto.com/4547985/2390799

1、通过<router-link> 标签中的to传参

  1. 基本语法:
  2.  
  3. <router-link :to="{name:xxx, params: {key:value}}">valueString</router-link>
  4. PS:上面to前边是带冒号,后边跟的是一个对象形势的字符串
  5.  
  6. name:在路由配置文件中起的name值。叫做命名路由,下一节会讲到。
  7.  
  8. params:要传的参数,它是对象形式,在对象里可以传递多个值。
  9.  
  10. 具体实例如下:
  11. 1)在src/components/Home.vue里面导航中添加如下代码:
  12.  
  13. <router-link :to="{name: 'one', params:{username:'test123'}}">子页面1</router-link>
  14. 2)在src/router/indes.js中添加如下代码,重点是name
  15.  
  16. {
  17. path:'one', // 子页面1
  18. name: 'one', // 路由名称-命名路由
  19. component:One}
  20. 3)在src/components/One.vue里面接受参数,代码如下:
  21.  
  22. <h2>{{$route.params.username}}</h2>

2、url中传递参数

  1. 1)在路由中以冒号传递,在src/router/index.js中加入如下代码:
  2.  
  3. {
  4. path:'/home/two/:id/:name', // 子页面2
  5. component:Two},
  6. 2)接受参数,在src/components/Two.vuez中加入如下代码:
  7.  
  8. <p>ID:{{ $route.params.id}}</p><p>名称:{{ $route.params.name}}</p>
  9. 3)路由跳转,在src/components/Home.vue中加入如下代码:
  10.  
  11. <router-link to="/home/two/1/张三">子页面2</router-link>
  12. PSto前没有冒号为字符串路由,必须全部匹配。
  13. 4)如果路由参数需要有特定的规则,就需要加入正则表达式了,示例如下:
  14.  
  15. {
  16. path:'/home/two/:id(\\d+)/:name', // 子页面2
  17. component:Two}

3、编程式导航-params传递参数

注意:此方式参数不会显示到浏览器的地址栏中,如果刷新一次页面,就获取不到参数了,

  改进方式将第一部中的代码改成如下:

  1. //父页面
  2. <template>
  3. <button @click="toThreePage">页面3-params传参</button>
  4. </template>
  5.  
  6. scriptmethods: {
  7. toThreePage() {
  8. this.$router.push({name: 'three', params: {id: 1, name: 'zhangsan'}})
  9. }}
  10.  
  11. //子页面
  12. <p>ID:{{ $route.params.id}}</p><p>名称:{{ $route.params.name}}</p>

4、编程式导航-query传递参数

注意:动态路由使用query传递参数,会显示到浏览器地址栏中,以下链接为   /home/three?id=1&name=zhangsan

//父页面
<template>
<button @click="toThreePage">页面3-params传参</button>
</template>

scriptmethods: {
toThreePage() {
this.$router.push({path: '/home/three', query: {id: 1, name: 'zhangsan'}})
}}

//子页面
<p>ID:{{ $route.query.id}}</p><p>名称:{{ $route.query.name}}</p>

【转载】【笔记】vue-router之路由传递参数的更多相关文章

  1. vue.js中路由传递参数

    知识点:vue路由传递参数,第二个页面(A.B页面)拿到参数,使用参数 方法一:使用 <router-link :to="{name:'edithospital',params:{hi ...

  2. Vue 给子组件传递参数

    Vue 给子组件传递参数 首先看个例子吧 原文 html <div class="container" id="app"> <div clas ...

  3. vue - 路由传递参数

    结构目录 1. 页面传值(不同之间的页面传值) 1.1 index.js配置 源码: // 引入vue框架 import Vue from 'vue' // 引入vue-router路由依赖 impo ...

  4. angular4.0路由传递参数、获取参数最nice的写法

    研究ng4的官网,终于找到了我想要的方法.我想要的结果是用'&'拼接参数传送,这样阅读上是最好的.否则很多'/'的拼接,容易混淆参数和组件名称.一般我们页面跳转传递参数都是这样的格式:http ...

  5. Vue router 一个路由对应多个视图

    使用命名路由 https://jsfiddle.net/posva/6du90epg/ <script src="https://unpkg.com/vue/dist/vue.js&q ...

  6. 转载如何实现portlet之间的传递参数

    Liferay 6开发学习(三十):跨页面Portlet之间的调用与数据传递 2014年10月09日 Liferay 评论 2 条 阅读 4,209 views 次 Portlet之间的通信方法有多种 ...

  7. vue-router路由传递参数 + get传值query获取

    [步骤] (1)路由配置 或者 (2)传递参数 或者 (3)接收传递参数 或者 [二]步骤小结 [三]参数形式 (1)上面这种是/100形式传递过去 (2)另外还有?count=100的格式,这便是g ...

  8. Vue 中的Vue Router一级路由,二级路由,三级路由以及跳转

    今天编写了一下Vue中的路由 先用命令行新建一个空的项目,并且我知道要用路由,就下载了路由的相关依赖 vue init webpack demo5 完毕之后进入所在的项目 cd demo5 之后用vs ...

  9. angularjs路由传递参数

    ui-sref.$state.go 的区别 ui-sref 一般使用在 <a>...</a>: $state.go('someState')一般使用在 controller里面 ...

随机推荐

  1. 2018HDU多校训练-3-Problem F. Grab The Tree

    Little Q and Little T are playing a game on a tree. There are n vertices on the tree, labeled by 1,2 ...

  2. CSUOJ2078-查找第k大(读入挂)

    查找第k大 Submit Page Output 对于每组数据,输出第k大的数 Sample Input 1 6 2 1 2 3 4 5 6 Sample Output 5 Hint #include ...

  3. Spring整合Shiro 权限 角色 用户关系分析

    Spring整合Shiro 权限 角色 用户关系分析 作者 : Stanley 罗昊 [转载请注明出处和署名,谢谢!] 前置内容 之前我们学习了,使用注解的方式去完成权限的控制,当然,也是静态的,也就 ...

  4. 大数据学习笔记——Spark工作机制以及API详解

    Spark工作机制以及API详解 本篇文章将会承接上篇关于如何部署Spark分布式集群的博客,会先对RDD编程中常见的API进行一个整理,接着再结合源代码以及注释详细地解读spark的作业提交流程,调 ...

  5. Ambari 自定义服务集成原理介绍

    之前,在 github 上开源了 ambari-Kylin 项目,可离线部署,支持 hdp 2.6+ 及 hdp 3.0+ .github 地址为:https://github.com/8418090 ...

  6. Mybatis sql map 小于号配置

    Mybatis SQL map配置中出现小于号转义时,通过<![CDATA[查询条件]]>解决. EXCEMPLE: <select id="getComments&quo ...

  7. java8新特性 - 什么是函数式接口 @FunctionalInterface?

    什么是函数式接口 @FunctionalInterface 源码定义 /** * An informative annotation type used to indicate that an int ...

  8. 区块链学习——HyperLedger-Fabric v1.0环境搭建详细教程

    相对与v0.6版本来说,1.0版本改变较大,此处不多说,只是将小白自己搭建1.0环境的过程分享给大家.希望对大家能有所帮助! 这一篇可能对前面的环境搭建会写的有些粗略,如有疑问,可阅读上一篇V0.6版 ...

  9. 《Java知识应用》Java压缩文件和解压缩

    今天通过Java实现一下:文件的压缩和解压缩. 1. 压缩 准备文件: 准备代码:(压缩) import java.io.BufferedInputStream; import java.io.Buf ...

  10. 管程(Moniter): 并发编程的基本心法

    JavaStorm 关注公众号获取更多并发 在吃透 Syncchronized 原理 中介绍了关于 Synchronize的实现原理,无论是同步方法还是同步代码块,无论是ACC_SYNCHRONIZE ...