Angular2:将同时包含指令和服务的功能分解为模块的最佳实践是什么?
我计划在Angular2开发一个功能,为社区做出贡献 该功能由一条指令和一项服务组成。 我想知道如何最好地将功能打包到一个模块(或多个模块)。Angular2:将同时包含指令和服务的功能分解为模块的最佳实践是什么?,angular,lazy-loading,angular-directive,angular-services,ng-modules,Angular,Lazy Loading,Angular Directive,Angular Services,Ng Modules,我计划在Angular2开发一个功能,为社区做出贡献 该功能由一条指令和一项服务组成。 我想知道如何最好地将功能打包到一个模块(或多个模块)。 服务必须是全局的,因此用户必须将其导入核心模块-不能在延迟加载的模块中导入 可以在用户需要使用该指令的地方导入该指令 为了让它工作,我必须创建两个不同的模块:一个包含服务,应该由核心模块导入和重新导出;另一个包含指令,可以在用户需要的地方导入,也可以在共享模块中全局导入 现在,我有点不喜欢这种配置,因为我必须将我的功能分为两个模块 我知道,知道Ang
- 服务必须是全局的,因此用户必须将其导入核心模块-不能在延迟加载的模块中导入
- 可以在用户需要使用该指令的地方导入该指令
提前感谢您的帮助在模块的
.forRoot()
中提供服务,并要求将其与MyModule.forRoot()
一起导入AppModule(例如路由器模块)
将forRoot
添加到您的模块中
此外,每个想要使用组件的模块都需要使用
有关更多详细信息,请参见您是否考虑过使用
forRoot
模式?
static forRoot(config: UserServiceConfig): ModuleWithProviders {
return {
ngModule: CoreModule,
providers: [
{provide: UserServiceConfig, useValue: config }
]
};
}
imports: [
BrowserModule,
ContactModule,
CoreModule.forRoot({userName: 'Miss Marple'}),
AppRoutingModule
],