无论如何,有从应用程序模块中定义的服务提供者引用组件定义的服务提供者(为组件的每个实例创建的服务提供者)的方法。由于DI的性质,我不认为这是可能的,因为ModuleDefinedService的依赖项仅创建一次,不会获得组件服务的单个实例。有什么办法可以实现?
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule
],
providers: [
ModuleDefinedService
],
bootstrap: [AppComponent],
})
export class AppModule { }
@Component({
selector: 'component',
templateUrl: 'component.html',
styleUrls: ['component.css'],
providers: [
ComponentDefinedService
]
})
export class AppComponent {}
export class ModuleDefinedService{
constructor(private componentService: ComponentDefinedService) {}
}