我的角度应用程序中有一个非常奇怪的错误。如果我去延迟加载路由,我的路由每次重定向我。如果我删除重定向路由,它可以正常工作。
路线: const routes:Routes = [
{
path : 'user',
component : IndexUserComponent,
canActivate: [AuthGuard]
},
{
path : 'support',
component : IndexSupportComponent,
loadChildren: ()=>IndexSupportModule
},
{
path : 'admin',
component : IndexAdminComponent,
canActivate: [AuthGuard]
},
{
path : '**',
redirectTo: '/user'
} //works with redirecTo: '/support'
//and if i delete this line
];
操作系统:win32
anglulr-cli:1.7.3
节点:8.9.4
我已经发现我必须在angluar cli 1.7.x中使用lambda函数来进行延迟加载,因为它有一个bug。使用以下版本它不起作用:
loadChildren: 'app/orders/index.support.module#IndexSupportComponent'
答案 0 :(得分:0)
此行不正确。
loadChildren: 'app/orders/index.support.module#IndexSupportComponent'
在Angular中,您不会直接延迟加载组件,您必须延迟加载包含所需组件的模块。它应该是这样的:
loadChildren: 'app/orders/index.support.module#IndexSupportModule'
设置延迟加载的功能模块有三个主要步骤:
- 创建要素模块。
- 创建要素模块的路由模块。
- 配置路由。
官方Angular documentation提供了如何正确执行此操作的一个很好的示例。