我的计划是建立一个项目,其中位于“ /”上的主网站相当庞大,只有在实际登录后才进行延迟加载。
const routes: Routes = [
{ path: '', canLoad: [AuthGuard], loadChildren: './home/home.module#HomeModule' },
{ path: 'login', component: LoginComponent },
{ path: '**', redirectTo: '/' },
];
但是CanLoad似乎有一个局限性,即它不适用于'/',因为发生的事情是该应用陷入了无限循环。当canLoad被拒绝时,即使您将重定向到“ / login”设置为“ false”,CanLoad也会自动将其重定向为“ /”。
我需要的临时解决方案是不使用''root作为路由,而将其称为'/ home'之类的东西,但这会在应用程序的每条路由前添加/ home/。
CanActivate Guard可以在此设置下使用,但是我当然不能从延迟加载中受益,因为无论如何,即使用户只会卡在/上,完整的应用程序(home /)都将被加载。登录屏幕。
相关:
答案 0 :(得分:0)
编辑:将“登录”路线移至数组中的第一位置。