我是一个目前正在工作的注册表格,其中有多个步骤和各种条件的形式取决于帐户类型。该模块有近30个组件(父组件和子组件的混合),所有这些都被导入到模块文件中。这使得整个Angular 2站点运行得非常慢,尤其是在导航到注册表单然后再导航到另一个路由之后。
是否有可能在一个模块中有太多的组件/服务/提供者,这会对网站的性能产生负面影响?是否建议将多步骤注册申请表分解为多个模块?
import { CommonModule } from '@angular/common';
import { RouterModule } from '@angular/router';
import { NgModule } from '@angular/core';
import { ReactiveFormsModule } from '@angular/forms';
... all the other imports of components/service for this module
export const routes = [{
path: '',
component: parentComponent,
canActivate: [AuthGuard],
resolve: {
someData: someDataResolver
},
children: [
{ path: '', redirectTo: '0', pathMatch: 'full' },
{ path: '0',
component: someComponent1,
resolve: {
someData1: someData1Resolver
}
},
... a bunch more children routes/components
{ path: '20',
component: someComponent20,
resolve: {
someData20: someData1Resolver
}
}
]
}]
@NgModule({
declarations: [ ... ],
entryComponents: [ ... ],
imports: [ ... ],
providers: [ ... ],
})
export default class SampleModule {
static routes = routes
}
模块中的组件数量仅在第一次加载时(或页面刷新时)起作用,然后它们被加载到内存中。在其他地方查找问题