gpt4 book ai didi

angular - 在同一可观察对象上多次使用 `async` 管道

转载 作者:行者123 更新时间:2023-12-05 05:10:30 25 4
gpt4 key购买 nike

我正在使用 NGXS 更新加载状态并且状态正在正确更新,但我面临一个问题

如何在模板中多处使用加载状态?

NGXS 选择器如下所示:

@Select(MyAppState.isLoadingLayouts) loading$: Observable<boolean>;

现在在我的模板中有一个需要禁用的按钮,加载程序应在调度操作时显示在按钮中。我尝试如下,但没有用。按钮没有被禁用。

<button mat-raised-button class="gec-button" (click)="getLayoutsData()" [disabled]="loading">
<ng-container *ngIf="loading$ | async as loading; else submit">
<app-progress-bar [diameter]="16"></app-progress-bar>
</ng-container>
<ng-template #submit>Submit</ng-template>
</button>

我认为我们不能使用loading$ | async 在模板中多次触发多个异步调用。

有没有办法实现这个单一的异步管道?

最佳答案

当然。你只需要 share订阅者之间可见:

public getSharedLoading$() {
return this.loadging$.pipe(share());
}

*ngIf="getSharedLoading$ | async as loading; else submit"

关于angular - 在同一可观察对象上多次使用 `async` 管道,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56580849/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com