2017-06-30 5 views
3

Ich habe folgendes Kreismodulabhängigkeitsproblem:Angular Kreismodulabhängigkeiten

Involved Winkel Module:

  1. DatabaseMenuModule - Suchen und Anzeigen einer Datenbanktabelle
  2. DetailViewModule (Kind von Datenbank-Menü-Modul) - Anzeigen eines Datensatzes in der Tabelle
  3. SubtableModule - Wenn ein Fremdschlüssel angeklickt wird, öffnen Sie eine andere DatabaseMenu-Instanz in einem modalen Dialog enter image description here

Die Gesamtstruktur ist eine Art Selbst einschließlich Rekursion, da jeder Datensatz Fremdschlüssel haben kann und daher offen (auf Klick) ein andere Datenbank Menu-Instanz. Wie im Bild gezeigt, habe ich einen kreisförmigen Import der Module und deshalb funktioniert es nicht.

Aber ich sehe auch keine Möglichkeit, diesen Kreis aufzulösen.

Hat jemand eine Idee, wie man dieses Problem umloggt?

Antwort

0

Sie müssen Zirkelbezug loswerden.

Ihr SharedModule importiert OneModule, das SharedModule importiert, das OneModule usw. importiert.

Um dies zu vermeiden, sollten Sie versuchen, SharedModule einen SharedService zu geben, den Sie in alle Ihre Komponenten einbeziehen können. Versuchen Sie, das "logische Denken" Ihres Codes in Diensten neu zu gruppieren.

Wenn Sie eine Komponente über mehrere Module hinweg verwenden möchten, müssen Sie ein "freigegebenes" Modul erstellen und diese Komponente dem Export des freigegebenen Moduls hinzufügen. Dann fügen Sie dieses geteilte Modul in Ihre anderen Modulimporte ein. Beispiel: https://thinkster.io/tutorials/angular-2-ngmodule/creating-the-sharedmodule