小编Lit*_*ewb的帖子

Angular 5无法匹配延迟加载模块的命名出口上的任何路由

我的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)

routerlink router-outlet angular angular-router

6
推荐指数
1
解决办法
7223
查看次数