如何导航(或设置)Angular路由器,以便我导航延迟加载的模块的子项,将其显示到不同的路由器插座。以下是我的尝试;当加载EventsModule时,第一个子节点(路径:';;事件列表)应显示在名为“events”的路由器插座中(这样可行),但是当用户点击某个事件时,它们应该被导航到第二个子节点child(path:“eventUid”),应显示事件详细信息组件而不是事件列表。 Angular无法识别此路径(例如“companyName / events / eventId”)并重新路由到404页面。
app.module.ts
const appRoutes: Routes = [
{ path: ':company/events', loadChildren: './main/events/events.module#EventsModule' },
...
];
app.component.html
<router-outlet></router-outlet>
events.module.ts
const routes: Routes = [
{
path: '',
component: EventsComponent,
canActivate: [AuthenticatedGuard, ActiveGuard],
children: [
{ path: '', component: EventListComponent, outlet: 'events' },
{ path: ':eventUid', component: EventDetailsComponent, outlet: 'events' }
]
}
];
events.component.html
<nav>...</nav>
<router-outlet name="events"></router-outlet>
请帮忙!
所以,我找到了解决方案:
将EventModule的子代替为:[{path:'',component:EventListComponent},{path:':eventUid',component:EventDetailsComponent}]
并从events.component.html中的router-outlet中删除了“name”属性