给定以下路线:
{
path: '/detail/:someId',
component: SomeDetailComponent,
name: 'some-detail',
children: [
{
path: 'dashboard',
component: DashboardComponent,
name: 'dashboard'
},
{
path: '',
redirect: { name: 'dashboard' }
},
{
path: 'other',
component: OtherComponent,
name: 'other'
}
]
},
为什么这样做(仪表板组件可见):
this.$router.push(`/detail/123/`);
但这不会:
this.$router.push({name: 'some-detail', params: { someId: 123 }});
在一种情况下,URL 有一个斜杠,而在另一种情况下则没有。我在文档的某处读到这是来自 Vue2 的重大变化。请参阅: named-children-routes-with-an-empty-path-no-longer-appends-a-slash
所以这里真正的问题可能是:我怎样才能让我的工作子导航(带重定向)同时仍然能够使用路由名称而不是路由 url 部分进行导航。