Website-Suche

javascript - Wie kann ich vom lazy geladenen Modul auf den Root-Zustand zugreifen?


Wie kann ich den Root-Zustand innerhalb eines Lazy-Loaded-Moduls bereitstellen?

Ich habe einen Root-State, der den Loading-State enthält. Ich habe außerdem einen User-Feature-State, der in einem Lazy-Loaded-Modul geladen wird. Der Loading-State befindet sich auf Root-Ebene, da er für die gesamte Anwendung verfügbar sein soll (ein Service, der HTTP-Anfragen bearbeitet, ist dafür verantwortlich, Aktionen zu dispatchen, die den Loading-State ändern). In meinem User-Lazy-Loaded-Modul habe ich eine Komponente, die Zugriff auf den Loading-State benötigt. Also, wie kann ich Zugriff auf den Loading-State haben, wenn ich im User-Modul bereits den User-State bereitstelle?

/// user.module.ts

@NgModule({
  imports: [
    ...
    StoreModule.forFeature('user', reducers),
    ...
  ],
  declarations: [
    ...
  ]
})

Antwort #1

Deine gesamte App hat Zugriff auf den Root-Zustand, schreibe einfach einen Selektor dafür.

export class MyComponent {

  isLoading$: Observable<boolean>;

  constructor(private store: Store<AppState>) {
    this.isLoading$ = this.store.pipe(select(fromRoot.isLoading));
  }

}

Verwandte Artikel