如果其他人遇到此问题,我将提供答案。要使用多个路由器插座并避免使用辅助路由器语法,您必须操纵您的路由。通常,您会为您的 aux 提供路由,router-outlet
如下面的配置所示。
普通命名路由器出口语法
{
path: 'services/:id',
component: ServicesComponent,
children: [
{
path: 'data',
outlet: 'section',
component: ServicesDataComponent
}
]
}
要导航到您将使用的 about 路线/services/55/(section:'data')
。您可以通过嵌套子路由来避免这种情况
- 初始路径将是您的核心路径。在上面的例子
services/:id
中。
- 然后,您将使用所有子路径在此路径上声明子路由。这些子路径会将组件属性设置为包含您名为 aux 的组件
router-outlet
。
- 然后,每个子路径将声明另一组包含空路径的子路径,其中组件要加载到辅助路由器出口中。
没有辅助路由器语法的新路由器配置
{
path: 'services/:id',
children: [
{
path: 'data',
component: ServicesComponent,
children: [
{
path: '',
outlet: 'section',
component: ServicesDataComponent
}
]
},
{
path: 'another',
component: 'ServicesComponent',
children: [
{
path: '',
outlet: 'section',
component: AnotherComponent
}
]
}
]
}
你的新路线看起来像/services/55/data
&/services/55/another
通过使用空路径声明命名的辅助路由器路由,您不再需要处理辅助名称路由器出口语法。