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));
}
}
