angular使用forRoot() 註冊單一例項服務
阿新 • • 發佈:2020-07-27
ShareModule
import { NgModule, ModuleWithProviders } from
'@angular/core'
;
@NgModule({
imports: [
HttpModule,
JsonpModule,
...
],
declarations: [
ShowItDirective,
...
],
exports: [
ShowItDirective,
...
]
})
export class ShareModule{
// 給shareModule新增forRoot
static forRoot(): ModuleWithProviders {
return
{
ngModule: ShareModule,
providers: [
MessageService,
NotifyService,
... any service
],
};
}
}
AppModule
@NgModule({
declarations: [
AppComponent,
],
imports: [
// 使用
ShareModule.forRoot(),
],
providers: [
],
bootstrap: [AppComponent]
})
export class AppModule { }