2017-02-17 3 views
2

Ich arbeite an einer Beispielanwendung für Angular 2 und plane die Verwendung von @ ngrx/store und @ ngrx/effects für die Statusverwaltung.Statusverwaltung mit ngrx/store und ngrx/effects in Angular 2

Diese Beispielanwendung verfügt über ein Stammmodul und mehrere Feature-Module.

Jetzt sind meine Fragen.

  1. Kann ich importieren StoreModule und EffectsModule in alle meine Featuremodule OR Sollten sie nur einmal im Root-Modul importiert werden?

    EffectsModule.run(AuthorEffects) 
    

    Was passiert, wenn es mehrere Effektdateien

  2. Um eine einzelne Effekte Datei in einem Modul zu importieren, hatte ich unter Codezeile in Moduldatei geschrieben?

Antwort

0

Die meiste Zeit sollte es im Stammmodul importiert werden. Es sieht aus wie die NGRX eine Lösung in der Version 3 Beta-Version hat dynamische Minderer Funktionalität bereitzustellen:

https://github.com/ngrx/store/pull/269

Soweit mehrere Effekte, müssen Sie EffectsModule.run() für jeden Effekt nennen.

+0

Zum Beispiel habe ich die Anwendung aufgeteilt in mehrere Features-Modul (eins pro Seite) und jede Seite muss einige Effekte deklarieren, wenn ich auf jeder Seite hinzufügen EffectsModule.run (AuthorEffects) und navigieren zwischen 3 Seiten die Effektdienste bleiben aktiv, nachdem ich die Seite verlassen habe? – Nicu

+0

Wenn ich eine Kopieraktion habe, die unterschiedliche Effekte auf verschiedenen Seiten auslöst, sollte die Kopieraktion auf der anderen Seite einen anderen Namen haben? Wenn der Dienst nicht ausgeführt wird, nachdem die Seite entfernt wurde, könnte ich dieselbe Aktion für verschiedene Effekte verwenden. Was ich versuche zu finden, ist das Beste, um verschiedene Aktionen für jede Seite zu erstellen oder Aktionsnamen auf verschiedenen Seiten wiederzuverwenden. – Nicu

+1

Wenn Sie nur im Stammmodul speichern, sollten Sie alle Effekte dort registrieren. – JusMalcolm