我在Angular2官方网页上关注了Tour-of-Hero教程.但我通过引入模块延迟加载更进了一步.
我有以下功能模块:
>模块仪表板
>仪表板组件
>模块英雄
>英雄列表组件
>英雄细节组件
>英雄搜索组件
>英雄搜索服务
>英雄模特
hero-search组件是应该在Dashboard Module中使用的指令.
但是,根据this documentation关于Angular2架构,路由模块不应该被其他人导入.这意味着,我不应该将Hero模块导入仪表板模块.如果我这样做,我的路线无论如何都不再有效.
英雄搜索组件也使用英雄服务和英雄模型,因此它对英雄模块有很强的依赖性,因此很难外化.
那我该如何在Dashboard组件中使用hero-search组件呢?
最佳答案 您可以创建第三个模块,我们称之为UtilityModule,从那里导出HeroSearch,然后将UtilityModule导入DashboardModule和HeroModule.这样,您就可以在两个模块中使用HeroSearch组件.
@NgModule({
imports: [ ... ],
declarations: [ ... ],
exports: [ HeroSearch ]
})
export class UtilityModule { }