combineLatest与ngrx不更新更新

时间:2018-05-15 11:09:44

标签: javascript angular ngrx

我有以下代码:

this._loadingStateSubscription = combineLatest(
      select(fromTreeSelector.selectLoadingState),
      select(fromFinanceSelector.selectLoadingState),
      (isTreeLoading, isFinanceLoading) => {
        return isTreeLoading && isFinanceLoading;
      }
    )
      .subscribe(isLoading => this.isLoading = !isLoading);

问题是,我的订阅没有更新更新。但下面我有这段代码

this.store.pipe(select(fromTreeSelector.selectLoadingState))
      .subscribe((isLoading) => {
        // this.isLoading = isLoading;
        console.log("isLoading", isLoading)
      });
    this._loadingStateSubscription = this.store.pipe(select(fromFinanceSelector.selectLoadingState))
      .subscribe((isLoading) => {
        // this.isLoading = isLoading;
        console.log("isLoading", isLoading)
      });

每次更新时都会收到控制台日志消息。

这两个选择器看起来像这样:

export const selectLoadingState = (state: AppState) => state.structures.isLoading;

对此有何看法?

1 个答案:

答案 0 :(得分:1)

好的我想通了:

this.store.select(fromTreeSelector.selectLoadingState),
this.store.select(fromFinanceSelector.selectLoadingState)

现在我必须添加this.store