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

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

基本语法:

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

2、url中传递参数

 (1)在路由中以冒号传递,在src/router/index.js中加入如下代码:

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

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

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

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

 //父页面
<template>
<button @click="toThreePage">页面3-params传参</button>
</template> scriptmethods: {
toThreePage() {
this.$router.push({name: 'three', params: {id: 1, name: 'zhangsan'}})
}} //子页面
<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. 香港6合彩数据分析 V1.0

    最近写了个VBA小工具,分析香港6合彩中奖的概率,得出的结果不尽人意,但至少不会让你赔钱,嘿嘿! 点此链接获取 密码:3u65

  2. 初探hook的键盘获取

    初探hook的键盘获取 import pyHook import pythoncom class e(): keyIsPressed = False #键盘是否按下 按住.. def onKeyDow ...

  3. Python之数据分析工具包介绍以及安装【入门必学】

    前言本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 首先我们来看 Mac版 按照需求大家依次安装,如果你还没学到数据分析,建议你 ...

  4. 查看yum已安装的包

    在linux下如何使用yum查看安装了哪些软件包 列出所有已安装的软件包 yum list installed yum针对软件包操作常用命令: 1.使用 yum 查找软件包 命令:yum search ...

  5. 深入浅出Object.defineProperty()

    深入浅出Object.defineProperty() 红宝书对应知识点页码:139页 红宝书150页:hasOwnProperty( )方法可以检测一个属性是存在于实例中,还是存在于原型中,给定属性 ...

  6. Elasticsearch系列---搜索分页和deep paging问题

    概要 本篇从介绍搜索分页为起点,简单阐述分页式数据搜索与原有集中式数据搜索思维方式的差异,就分页问题对deep paging问题的现象进行分析,最后介绍分页式系统top N的案例. 搜索分页语法 El ...

  7. NodeJS1-2 Node JS的优点

    NodeJS并不适合所有server端的场景,它的使用场景是及其有限的,web是nodeJS最适合的场景 前端偏爱node的原因其内核就是JavaScript 前端职责范围变大,统一开发体验 在处理了 ...

  8. AOP框架Dora.Interception 3.0 [5]: 基于策略的拦截器注册方式

    注册拦截器旨在解决如何将拦截器应用到目标方法的问题.在我看来,针对拦截器的注册应该是明确而精准的,也就是我们提供的注册方式应该让拦截器准确地应用到期望的目标方法上,不能多也不能少.如果注册的方式过于模 ...

  9. JAVA Socket API与LINUX Socket API探究

    代码 这是一个带有UI界面的JAVA网络聊天程序,使用Socket连接完成通信. JAVA服务端程序 import java.io.IOException; import java.io.InputS ...

  10. FlowPortal:流程节点定义有误,合流节点"合流"没有对应的聚焦节点

    FB版本:6.00c 报错: 流程节点定义有误,合流节点"合流"没有对应的聚焦节点 解决办法:分流和合流之间的节点不能有其他节点汇入.调整如下后,成功保存.