vue父子组件路由传参的方式
一、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父子组件路由传参的方式的更多相关文章
- vue 父子组件相互传参
转自https://blog.csdn.net/u011175079/article/details/79161029 子组件: <template> <div> <di ...
- vue 父子组件之间传参
父组件中有子组件 msg 为父组件向子组件传的内容, 子组件向父组件传参数 子组件:this.$emit("shownumber",[this.num]);//this.$emi ...
- Vue的组件及传参
目录 Vue的组件及传参 Vue组件的概念 根组件 子组件(局部组件) 父组件向子组件传值 子组件向父组件传值 Vue的组件及传参 Vue组件的概念 我们首先要知道组件的概念,实际上每一个组件都是一个 ...
- vue父子组件状态同步的最佳方式续章(v-model篇)
大家好!我是木瓜太香!一名前端工程师,之前写过一篇<vue父子组件状态同步的最佳方式>,这篇文章描述了大多数情况下的父子组件同步的最佳方式,也是被开源中国官方推荐了,在这里表示感谢! 这次 ...
- react router @4 和 vue路由 详解(六)vue怎么通过路由传参?
完整版:https://www.cnblogs.com/yangyangxxb/p/10066650.html 8.vue怎么通过路由传参? a.通配符传参数 //在定义路由的时候 { path: ' ...
- vue中的路由传参及跨组件传参
路由跳转 this.$router.push('/course'); this.$router.push({name: course}); this.$router.go(-1); this.$r ...
- vue非父子组件间传参问题
最近在使用vue进行开发,遇到了组件之间传参的问题,此处主要是针对非父子组件之间的传参问题进行总结,方法如下:一.如果两个组件用友共同的父组件,即 FatherComponent.vue代码 < ...
- 前台VUE的组件之间传参方式
路由传参 """ 转跳: <router-link :to="'/course/'+course.id">{{course.name}}& ...
- vue中路由传参的方式
一.params的类型: 配置路由格式: /router/:id 传递的方式: 在path后面跟上对应的值 传递后形成的路径: /router/123, /router/abc 通过:to字符串拼接的 ...
随机推荐
- BCH分叉是一次站队博弈
BCH分叉在即,很多人说BCH本次分叉实质是大佬间的斗争,主要是本次BCH分叉主要分为两大派别: 一派以BCH用户量最大的客户端Bitcoin ABC开发组为主,要在11月15日展开硬分叉升级,主要升 ...
- ABAP alv report
*&---------------------------------------------------------------------* *& Report YTST_FF_ ...
- css 样式(checkbox开关、css按钮)
checkbox开关 css .iosCheck { /* Blue edition */ } .iosCheck input { display: none; } .iosCheck i { dis ...
- Tomcat部署java项目java.lang.OutOfMemoryError异常解决方法
java.lang.OutOfMemoryError异常解决方法 Window系统环境下,在catalina.bat文件第一行添加以下内容 set JAVA_OPTS=-Xms512m -Xmx512 ...
- 【字符串题目】poj 3096 Surprising Strings
Surprising Strings Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 6193 Accepted: 403 ...
- Dubbo之消费者
在写 dubbbo调用时候 <dubbo:reference 不能有空格! 项目结构: pom: <project xmlns="http://maven.apache.org ...
- rand()与srand()
1.不用srand()的话 两次运行程序产生的随机数序列相同 2.用srand() 两次运行程序产生的随机数则不同 示例程序: #include<iostream> #include< ...
- Spring MVC文件上传下载工具类
import java.io.File; import java.io.IOException; import java.io.UnsupportedEncodingException; import ...
- Call to unavailable function 'system': not available on iOS
使用Xcode 9 导入cocos2d-x 项目,报错 Call to unavailable function 'system': not available on iOS 原因很简单,就是ios ...
- python 之gc(回收机制)--garbage collection(GC垃圾回收)
######################引用计数######################### 引用计数:python 当中一种用来解决垃圾回收的策略之一 char 1个字节(2**8) in ...