CanLoad 守卫不允许“/”路线
CanLoad guard doesn't allow for '/' route
我的计划是建立一个项目,其中位于“/”上的主要网站非常庞大,仅在实际登录后才延迟加载。
const routes: Routes = [
{ path: '', canLoad: [AuthGuard], loadChildren: './home/home.module#HomeModule' },
{ path: 'login', component: LoginComponent },
{ path: '**', redirectTo: '/' },
];
但 CanLoad 似乎有这样的限制,它不适用于“/”,因为发生的情况是应用程序陷入无限循环。当 canLoad 被拒绝时,CanLoad 有一个内置的自动重定向到 '/',即使你在 "false".
时将重定向到 '/login'
我的临时解决方案是不使用“root”作为路由,而是将其称为“/home”或其他名称,但这会在应用程序的每个路由前添加 /home/。
CanActivate guard 适用于此设置,但当然我没有得到延迟加载的好处,因为无论如何都会加载完整的应用程序 (home/),即使用户只会卡在/登录屏幕。
相关:
编辑:将 'login' 路线移动到数组中的第一个位置。
我的计划是建立一个项目,其中位于“/”上的主要网站非常庞大,仅在实际登录后才延迟加载。
const routes: Routes = [
{ path: '', canLoad: [AuthGuard], loadChildren: './home/home.module#HomeModule' },
{ path: 'login', component: LoginComponent },
{ path: '**', redirectTo: '/' },
];
但 CanLoad 似乎有这样的限制,它不适用于“/”,因为发生的情况是应用程序陷入无限循环。当 canLoad 被拒绝时,CanLoad 有一个内置的自动重定向到 '/',即使你在 "false".
时将重定向到 '/login'我的临时解决方案是不使用“root”作为路由,而是将其称为“/home”或其他名称,但这会在应用程序的每个路由前添加 /home/。
CanActivate guard 适用于此设置,但当然我没有得到延迟加载的好处,因为无论如何都会加载完整的应用程序 (home/),即使用户只会卡在/登录屏幕。
相关:
编辑:将 'login' 路线移动到数组中的第一个位置。