如何从延迟加载的模块访问根状态?

时间:2019-09-06 20:06:59

标签: javascript angular typescript ngrx

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

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

/// user.module.ts

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

1 个答案:

答案 0 :(得分:1)

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

export class MyComponent {

  isLoading$: Observable<boolean>;

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

}