如果我有一个路由此配置:角2路由总是通过根/
APP-routing.module.ts
const routes: Routes = [
{ path: '', loadChildren: './private/private.module#PrivateModule' },
{ path: 'login', component: LoginComponent }
];
当我浏览到/login
懒加载专用模块将始终加载。最大的问题是如果我有canLoad
后卫,以便只有经过身份验证的用户才能访问它。但是,如果我每次去/login
时都会通过canLoad
后卫重新导向/login
,然后再次通过canLoad
等等 - 将会创建一个无限循环。任何想法或解决方法。
理想情况下,我想要有一个公共路线/login
和一个专用模块/
,它将包含私有模块以及其中将被加载的共享模块。我不想在路由上添加任何前缀,这就是为什么我要使用根路由/
。
|_ core
|_ shared
|_ login
|_ private
|____ shared
|____ core
|____ dashboard
|____ etc
编辑:
为了说明这里是截图:
当我去登录,你可以看到0.chunk.js
已经加载是专用模块。在/
路线上定义它时不应加载,而我不在/
路线上。
那么你的问题是什么? –
如果我为根路径包含'canLoad'后卫,如何避免无限循环。换句话说,如果我导航到'/ login',如何避免通过定义的根路线? –
请检查编辑。 –