我的Root模块的路由是这样的:
RouterModule.forRoot([
{ path: '', redirectTo: 'management-portal', pathMatch: 'full' },
{ path: 'management-portal', loadChildren: './xxx/management-portal.module#ManagementPortalModule', canActivate: [AuthGuard] },
{ path: 'login', component: LoginComponent },
{ path: '**', component: NotFoundComponent }
], {
enableTracing: true
})
Run Code Online (Sandbox Code Playgroud)
它按预期工作,我可以在登录后路由到ManagementPortalModule.让我们来看看我的懒惰的ManagementPortalModule.
有一个命名的路由器插座.
<router-outlet name='sub'></router-outlet>
Run Code Online (Sandbox Code Playgroud)
我在ManagementPortalModule中的路线.
RouterModule.forChild([
{
path: '', component: ManagementPortalComponent,
children: [
{ path: '', component: Test1Component, outlet: 'sub' },
{ path: 'test2', component: Test2Component, outlet: 'sub' }
]
}
])
Run Code Online (Sandbox Code Playgroud)
它可以在开始时在'sub'出口加载Test1Component.我点击链接时想要路由到Test2Component
<a [routerLink]="[{ outlets: { sub: ['test2'] } }]"></a>
Run Code Online (Sandbox Code Playgroud)
生成的Url
/管理门户/(子:TEST2)
当我点击时没有任何反应.然后我试了一下
<a …Run Code Online (Sandbox Code Playgroud)