Обнаружена круговая зависимость в Angular 7 - PullRequest
0 голосов
/ 07 января 2019

В моем приложении Angular 7 есть следующая структура приложения:

AppModule
DashboardModule
  DashboardChild1
  DashboardChild2
  DashboardChild3
  DashboardService
AdminModule
  AdminChild1
  AdminChild2
  AdminChild3

и я хочу, чтобы служба DashboardService была доступна только в DashboardModule, поэтому я перешел по этой ссылке условии в-и-ngmodules .

Вот мой DashboardService:

import { Injectable } from '@angular/core';
import { DashboardModule } from './dashboard.module';

@Injectable({
  providedIn: DashboardModule
})
export class DashboardService {
  .......
}

Я использовал эту службу в компоненте DashboardChild1, но выдает следующую ошибку:

ПРЕДУПРЕЖДЕНИЕ при обнаружении циклической зависимости: src / app / dashboard / dashboard-child1 / dashboard-child1.component.ts -> src / app / dashboard / dashboard.service.ts -> src / app / dashboard / dashboard.module.ts -> src / app / dashboard / dashboard-routing.module.ts -> SRC / приложение / приборная панель / панель-child1 / панель-child1.component.ts

ПРЕДУПРЕЖДЕНИЕ при обнаружении циклической зависимости: src / app / dashboard / dashboard-routing.module.ts -> src / app / dashboard / dashboard-child1 / dashboard-child1.component.ts -> src / app / dashboard / dashboard.service.ts -> src / app / dashboard / dashboard.module.ts -> SRC / приложение / приборная панель / панель-routing.module.ts

ПРЕДУПРЕЖДЕНИЕ при обнаружении циклической зависимости: src / app / dashboard / dashboard.module.ts -> src / app / dashboard / dashboard-routing.module.ts -> src / app / dashboard / dashboard-child1 / dashboard-child1.component.ts -> src / app / dashboard / dashboard.service.ts -> SRC / приложение / приборная панель / dashboard.module.ts

ПРЕДУПРЕЖДЕНИЕ при обнаружении циклической зависимости: src / app / dashboard / dashboard.service.ts -> src / app / dashboard / dashboard.module.ts -> src / app / dashboard / dashboard-routing.module.ts -> src / app / dashboard / dashboard-child1 / dashboard-child1.component.ts -> SRC / приложение / приборная панель / dashboard.service.ts

что мне здесь не хватает?

1 Ответ

0 голосов
/ 07 января 2019

Это наиболее вероятно, так как

DashboardChild1 является членом DashboardModule и DashboardChild1, пытающимся получить доступ к DashboardModule с помощью инъекций. Результат - Круговая Зависимость.

DashboardModule calls DashboardChild1 
DashboardChild1 calls DashboardModule
DashboardModule class DashboardChild1
DashboardChild1 calls DashboardModule
...
...
...
...

то же самое относится и к DashboardService

DashboardModule calls DashboardChild1 calls DashboardService
DashboardService calls DashboardModule
DashboardModule calls DashboardChild1 calls DashboardService
DashboardService calls DashboardModule
...
...
...
...
...