由于获取传输数据时$route.params会会多次出现,给路由配置props属性可减轻代码的编写 需要在接收参数的组件配置相应的props
配置方式1、props: {key:value}
routes: [
{
path: 'message',
component: MyMessage,
children: [
{
name: 'HomeMessageDetail',
path: 'detail/:id/:title',
component: MyDetail,
props: {a:900}
},
]
},
]
<template>
<ul>
<li>{{a}}</li>
</ul>
</template>
<script>
export default {
name: 'MyDetil',
props:['a']
}
</script>
但这种方式传递的值是固定的
配置方式2、props: true
routes: [
{
path: 'message',
component: MyMessage,
children: [
{
name: 'HomeMessageDetail',
path: 'detail/:id/:title',
component: MyDetail,
props:true
},
]
},
]
<template>
<ul>
<li>{{a}}</li>
</ul>
</template>
<script>
export default {
name: 'MyDetil',
props:['id','title']
}
</script>
这种方式只适用于params传参,并且在接收参数的组件配置与路由中path中占位符 相同的props
方式3、props(route){return {}}
routes: [
{
path: 'message',
component: MyMessage,
children: [
{
name: 'HomeMessageDetail',
path: 'detail/:id/:title',
component: MyDetail,
props(route){
return {
id: route.query.id,
title: route.query.title
}
}
},
]
},
]
<template>
<ul>
<li>{{a}}</li>
</ul>
</template>
<script>
export default {
name: 'MyDetil',
props:['id','title']
}
</script>