我使用的是angular 2的最终版本,并且看到了loadChildren的出色的延迟加载功能。

一个最小的例子

export const routes: Routes = [
  { path: 'crisis', loadChildren: 'app/crisis/crisis.module#CrisisModule' }
];

在这种情况下,crisis.module会被延迟加载,但是它是一个字符串,而不是数组。但是我的页面可能由多个模块中的多个组件存在,所以我想知道;

您可以延迟加载多个模块,而无需为此路由专门创建包含组件的模块吗?

最佳答案

我刚刚遇到了与您相同的问题,并且找到了解决方案。希望对别人有帮助。你可以做这样的事情

const routes: Routes = [
    {
         path: '',
         component: DashboardComponent,
         children: [
            {
                path: 'events',
                loadChildren: './event/event.module#EventModule'
            },
            {
                path: 'participants',
                loadChildren: './participant/participant.module#ParticipantModule'
            }
        ]
    }
];

当然,在父组件(此处为DashbordComponent)中,您将必须放置router-outlet

10-04 21:01