vue父子组件路由传参的方式

时间:2022-06-20 22:17:36

一、get方式(url传参):

1.动态路由传参:
父组件:

 selectItem (item) {
this.$router.push({
path: `/recommend/${item.id}`
})
}

router.js:

    {
path: '/recommend',
component: Recommend,
children: [
{
path: ':id', // 【或者/recommend/:id】
component: Disc
}
]
},

子组件:

this.$route.params

2.静态路由传参:
父组件:

    selectItem (item) {
this.$router.push({
path: '/recommend/disc',
query: {
id: item.dissid
}
})
},

router.js:

    {
path: '/recommend',
component: Recommend,
children: [
{
path: 'disc', // 【或者/recommend/disc】
component: Disc
}
]
},

子组件:

this.$route.query

二、post方式传参:

这种方式是匹配name传参:

父组件:

 selectItem (item) {
this.$router.push({
name: `disc`, //这里的name对应router.js中的name 【必填】
params: {
id: item.id // 【或者/recommend/disc】
}
})

router.js:

  {
path: '/recommend',
name: 'recommend',
component: Recommend,
children: [
{
path: '/recommend/disc',
name: 'disc',
component: Disc
}
]
}

子组件:

 created () {
console.log(this.$route.params) //访问参数
}

总结:

post方式传参是匹配name进行路由,使用this.$route.params获取;
get方式是匹配path,分为静态路由动态路由2种。
动态路由: 使用params传参,this.$router.params获取;参数在路由中
静态路由: 使用query传参,this.$router.query获取;参数在参数中
router.js中子路由的path有2中方式书写:全路径:/recommend/disc 或者 短路径:disc

参考文章:https://segmentfault.com/a/1190000012393587

vue父子组件路由传参的方式的更多相关文章

  1. vue 父子组件相互传参

    转自https://blog.csdn.net/u011175079/article/details/79161029 子组件: <template> <div> <di ...

  2. vue 父子组件之间传参

    父组件中有子组件 msg 为父组件向子组件传的内容,  子组件向父组件传参数 子组件:this.$emit("shownumber",[this.num]);//this.$emi ...

  3. Vue的组件及传参

    目录 Vue的组件及传参 Vue组件的概念 根组件 子组件(局部组件) 父组件向子组件传值 子组件向父组件传值 Vue的组件及传参 Vue组件的概念 我们首先要知道组件的概念,实际上每一个组件都是一个 ...

  4. vue父子组件状态同步的最佳方式续章&lpar;v-model篇&rpar;

    大家好!我是木瓜太香!一名前端工程师,之前写过一篇<vue父子组件状态同步的最佳方式>,这篇文章描述了大多数情况下的父子组件同步的最佳方式,也是被开源中国官方推荐了,在这里表示感谢! 这次 ...

  5. react router &commat;4 和 vue路由 详解&lpar;六&rpar;vue怎么通过路由传参?

    完整版:https://www.cnblogs.com/yangyangxxb/p/10066650.html 8.vue怎么通过路由传参? a.通配符传参数 //在定义路由的时候 { path: ' ...

  6. vue中的路由传参及跨组件传参

    路由跳转   this.$router.push('/course'); this.$router.push({name: course}); this.$router.go(-1); this.$r ...

  7. vue非父子组件间传参问题

    最近在使用vue进行开发,遇到了组件之间传参的问题,此处主要是针对非父子组件之间的传参问题进行总结,方法如下:一.如果两个组件用友共同的父组件,即 FatherComponent.vue代码 < ...

  8. 前台VUE的组件之间传参方式

    路由传参 """ 转跳: <router-link :to="'/course/'+course.id">{{course.name}}& ...

  9. vue中路由传参的方式

    一.params的类型: 配置路由格式: /router/:id 传递的方式: 在path后面跟上对应的值 传递后形成的路径: /router/123, /router/abc 通过:to字符串拼接的 ...

随机推荐

  1. &lbrack;LeetCode&rsqb; Remove Duplicates from Sorted List 移除有序链表中的重复项

    Given a sorted linked list, delete all duplicates such that each element appear only once. For examp ...

  2. mysql提供dataprovider

    import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.Inpu ...

  3. Nodejs的Express完成安装指导

    一.安装 官网http://expressjs.com/ express4.X的有一些变化,4.x版本中将命令工具单独分出来了(https://github.com/expressjs/generat ...

  4. nodejs字符与字节之间的转换

    new Buffer("Hello World").toString("base64"); /* yields SGVsbG8gV29ybGQNCg== */ ...

  5. only for equality comparisons Hash Index Characteristics

    http://dev.mysql.com/doc/refman/5.7/en/index-btree-hash.html Hash Index Characteristics Hash indexes ...

  6. mvc无法找到资源

    昨天装了vs2015,但是第二步没有完成.今天急急忙忙的用13打开一个mvc的项目,但是添加的控制器怎么都不能访问. 无法找到资源. 说明: HTTP 404.您正在查找的资源(或者它的一个依赖项)可 ...

  7. 微软Azure云主机测试报告

    http://www.cnblogs.com/sennly/p/4135658.html 1. 测试目的 本次测试的目的在于对微软云主机做性能测试,评估其是否能够满足我们业务的需求. 2. 测试项目 ...

  8. ASP&period;NET MVC&lpar;二&rpar; 理解MVC

    MVC模型同时提供对HTML.CSS以及JavaScript的完整控制. MVC模型通过三个逻辑层来定义WEB应用程序: (一)Business layer(业务层.模型逻辑) 模型(Model) 模 ...

  9. 如何使用Bootstrap自带图标

    查看可用的字体图标列表: http://www.runoob.com/try/demo_source/bootstrap3-glyph-icons.htm 第一步:下载Bootstrap,发现目录中包 ...

  10. 从零搭建和配置OSX开发环境

    对于每一名开发者来说,更换系统或者更换电脑的时候,都免不了花上不短的时间去折腾开 发环境的问题.我本人也是三番两次,深知这个过程的繁琐.所有,根据我自己以往的经验, 以及参考一下他人的意见,整理一下关 ...