O redirecionamento de rota padrão não funciona para rotas carregadas com atraso no Angular 2
Eu tenho um aplicativo dividido em uma seção autenticada (InternalRootComponent) e uma seção anônima (ExternalRootComponent).
Tudo funciona bem quando eu navego para as rotas explicitamente, mas quando vou para a raiz (/), não sou redirecionado. Além disso, o AccountsComponent é carregado por algum motivo.
app-routing.module.ts:
export const routes: Routes = [
{
path: '',
redirectTo: 'login',
pathMatch: 'full'
},
{
path: 'login',
component: ExternalRootComponent,
children: [
{
path: '',
loadChildren: './login/login.module#LoginModule'
}
]
},
{
path: 'membership',
component: ExternalRootComponent,
children: [
{
path: '',
loadChildren: './membership/membership.module#MembershipModule'
}
]
},
{
path: 'app',
component: InternalRootComponent,
canActivate: [AuthGuard],
children: [
{
path: '',
canActivateChild: [AuthGuard],
children: [
{
path: '',
redirectTo: './dashboard',
pathMatch: 'full'
},
{
path: 'dashboard',
loadChildren: './dashboard/dashboard.module#DashboardModule'
},
{
path: 'accounts',
loadChildren: './accounts/accounts.module#AccountsModule'
},
{
path: 'users',
loadChildren: './users/users.module#UsersModule'
},
{
path: 'services',
loadChildren: './services/services.module#ServicesModule'
},
{
path: 'support',
loadChildren: './support/support.module#SupportModule'
}
]
}
]
},
{
path: '**',
component: NotFoundComponent
}
];
accounts-routing.module.ts:
const routes: Routes = [
{
path: '',
component: AccountInfoComponent
}
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule]
})
export class AccountsRoutingModule {}
O que não entendo é por que o primeiro redirecionamento não funciona - eu esperaria / redirecionar para / login. Em vez disso, parece que a rota vazia em accounts-routing.module.ts está sendo chamada.