Vue-router.嵌套路由命名
Vue-router对父路由是否有name对子路由是否显示的影响。
Vue3嵌套子路由params模式匹配失败,现象:
1.一般params路由设计,path+name。name用于param中指定路径。
path: '/arist/:id',
name:'artist',
component: Artist,
children: [
{
path: '',
name: 'defaulthotwork',
component: Hotwork
}
...
],
2.一般params路由参数和跳转,必须下使用name进行路由
<router-link :to="{
// path:'/arist',
name:'arist',
params:{
id:songer.id
}
}">
</router-link>
3.但是当路由中设计有name时,若要匹配path:''的子路由失败。
children: [
{
path: '', //失败
name: 'defaulthotwork',
component: Hotwork
}
...
],
若要能匹配到空路径的组件,只能在父组件中使用模板路径进行匹配
<router-link :to="`/arist/${songer.id}`"> </router-link>
猜测是因为使用模板路径的话,算是整个路径更新,整段进行匹配