首页 > 解决方案 > 如何从延迟加载的模块访问根状态?

问题描述

如何在延迟加载的模块中提供根状态?

我有一个具有加载状态的根状态。我还有一个加载在延迟加载模块中的用户功能状态。加载状态处于根级别,因为假设它可用于整个应用程序(处理 http 请求的服务负责调度改变加载状态的操作)。在我的用户延迟加载模块中,我有一个需要访问加载状态的组件。那么,如果在用户模块中我已经提供了用户状态,我如何才能访问加载状态?

/// user.module.ts

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

标签: javascriptangulartypescriptngrx

解决方案


您的整个应用程序都可以访问根状态,只需为其编写一个选择器。

export class MyComponent {

  isLoading$: Observable<boolean>;

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

}

推荐阅读