Ich dachte, ich verstehe Eckige Module, habe aber Schwierigkeiten, den besten Ansatz für die Strukturierung von Modulen zu finden, die Dienste und Komponenten einer Bibliothek beinhalten.Ansätze zu Diensten und Komponenten in von Bibliotheken bereitgestellten winkelförmigen Modulen
Die Bibliothek implementiert eine NotificationsComponent
, die von einer NotificationsService
abhängt, die ein Singleton sein muss, da sie Benachrichtigungsinformationen persistiert. Der Verbraucher möchte die NotificationsComponent
in verschiedenen Seiten verwenden, von denen einige in einem AdminPagesModules
sind, und andere sind in einem BookPagesModule
.
die in der Bibliothek sagen Let definiere ich eine NotificationsModule
, die „erklärt“ und „Exporte“ NotificationsComponent
und „liefert“ NotificationsService
. Wenn ich nun dieses Modul sowohl in AdminPagesModule
als auch in BookPagesModules
importiere, damit Seiten in diesen Modulen NotificationComponent
verwenden können, bekomme ich separate Instanzen der NotificationsService
, die nicht funktionieren werden. Auf der anderen Seite, wenn ich NotificationsModule
in meinem AppModule
importiere, gelingt es mir sicherzustellen, NotificationsService
ist ein Singleton in der ganzen App verwendet, aber ich kann NotificationsComponent
innerhalb der Komponenten innerhalb der einzelnen Feature-Module wie AdminPagesModule
nicht sehen.
Ich habe ein Muster gesehen, wo ein Modul ein anderes Modul importiert und es dann wieder exportiert. In diesem Fall würden wir NotificationsModule
in AppModule
importieren und dann erneut exportieren und anschließend NotificationsModule
erneut in importieren. In diesem Fall wird NotificationsService
ein Singleton über die App sein, wie ich will, noch NotificationsComponent
immer noch verfügbar für Komponenten innerhalb AdminPagesModule
?
Oder gibt es einen Ansatz für dieses Problem mit dem SharedModule
Muster?