Ранее я отвечал на (не дублирующий) вопрос, который предоставляет вам альтернативы этому подходу.
{ ссылка }
Выполните эту настройку:
my-module.ts
declarations: [
MyComponent
]
my-service.ts
@Injectable({ providedIn: MyModule })
my-component .ts
constructor(private myService: MyService) {}
- my-service import my-module
- my-module импортирует my-component
- my-component импортирует my-service
Существует круговая зависимость.
Обходной путь
Обходной путь для этого - создать служебный модуль и импортировать его в ваш модуль.
my-module.ts
imports: [
MyModuleServices
],
declarations: [
MyComponent
]
my-module-services.ts
// no imports or declarations
my-service .ts
@Injectable({ providedIn: MyModuleServices })
my-component.ts
constructor(private myService: MyService) {}
Альтернатива
Гораздо более простой способ - добавить сервис для поставщиков вашего модуля.
@NgModule({
providers: [ MyService ]
})
export class MyModule {}