this.$router.push给子路由传参如何写
时间: 2023-10-13 08:09:41 浏览: 240
vue路由传参 vue路由传参
5星 · 资源好评率100%
可以使用`props`来给子组件传递参数,具体步骤如下:
1. 在父组件中,使用`props`来声明需要传递的参数:
```
// 父组件
<template>
<div>
<router-link :to="{ name: 'ChildRoute', params: { id: 123 } }">跳转到子路由</router-link>
<router-view></router-view>
</div>
</template>
<script>
export default {
name: 'ParentRoute',
components: {},
props: {
// 声明需要传递的参数
}
}
</script>
```
2. 在子组件中,使用`props`来接收父组件传递的参数:
```
// 子组件
<template>
<div>{{ id }}</div>
</template>
<script>
export default {
name: 'ChildRoute',
components: {},
props: {
id: {
type: Number,
required: true
}
}
}
</script>
```
注意:这里的`id`需要与父组件中声明的参数名称一致。
3. 在路由配置文件中,将子组件和父组件进行关联,并设置路由的名称:
```
import ChildRoute from '@/views/ChildRoute.vue'
import ParentRoute from '@/views/ParentRoute.vue'
const routes = [
{
path: '/parent',
name: 'ParentRoute',
component: ParentRoute,
children: [
{
path: 'child/:id',
name: 'ChildRoute',
component: ChildRoute,
props: true
}
]
}
]
```
注意:这里的`:id`是动态路由参数,需要在路由跳转时传递具体的值。这里使用了`props: true`来表示将动态路由参数作为props传递给子组件。
阅读全文