* ng如果有时仅适用于异步管道

问题描述 投票:0回答:1

即使我看到该值正确,我也有一段时间ngIf无法正常工作的情况:

<div id="overlay" *ngIf="isLoading$ | async"></div>
<div class="page-content" [class.inactive]="isLoading$ | async">
    <router-outlet></router-outlet>
</div>

我有两次可观察的结果,对于[class.inactive],如果isLoading已更新,我可以看到结果,但是对于它上方的ngIf,它只能工作一半时间。使用相同的可观察两次是否与我有关系?

我确实启用了推送更改检测功能,但这没关系,这也是从NGRX存储中选择的。我怀疑这两个提及中的任何一个都是原因,但只是给出事实。

angular observable
1个回答
0
投票

为了避免重复订阅,您可以按照以下步骤进行:>

<ng-container *ngIf="{isLoading: isLoading$ | async} as source">
  <div id="overlay" *ngIf="sourcec.isLoading"></div>
  <div class="page-content" [class.inactive]="sourcec.isLoading">
    <router-outlet></router-outlet>
  </div>
</ng-container>
© www.soinside.com 2019 - 2024. All rights reserved.