У меня есть пара служб, используемых для управления состоянием с Akita (IssueStore и Issue Query).
Вместо того, чтобы предоставлять эти две службы в инжекторе «root», я хочу включить их только в модуль, в котором они будут использоваться (IssueModule). Это в основном из соображений производительности, поскольку я не вижу необходимости загружать эти службы сразу после запуска приложения.
У меня появилась циклическая зависимость, и я не уверен, как ее разрешить, не изменив providedIn
на 'root'
в сервисах. Это предупреждающее сообщение:
WARNING in Circular dependency detected:
src\app\modules\issue\state\issue.store.ts -> src\app\modules\issue\issue.module.ts -> src\app\modules\issue\issue-list\issue-list.component.ts -> src\app\modules\issue\state\issue.query.ts -> src\app\modules\issue\state\issue.store.ts
modules\issue\state\issue.store.ts
- служба основного хранилища, импортирует модуль IssueModule, потому что именно там он и предоставляется.
modules\issue\issue.module.ts
- импортирует IssueListComponent, потому что модуль объявляет его.
\modules\issue\issue-list\issue-list.component.ts
- импортирует службу IssueQuery, поскольку в нее внедряется IssueQuery.
\modules\issue\state\issue.query.ts
импортирует IssueStore, потому что в него вставлен IssueStore.
Будем благодарны за любые предложения о том, как разрешить циклическую зависимость без предоставления услуг в корневой инжектор.