【发布时间】:2019-05-20 13:12:44
【问题描述】:
我想在 Angular 7 应用程序中添加一个通用加载器(微调器或类似的东西)。当我转到特定路线(页面)时,首先我从服务器获取数据。在请求期间,加载程序应该是可见的。
第一个简单的解决方案是这样的服务:
class PendingService {
active = 0;
isActive = false;
start() {
this.active++;
this.isActive = true;
}
stop() {
this.active--;
if (this.active === 0) {
this.isActive = false;
}
}
}
并像这样使用它:
pendingService.start();
data.get().subscribe(null, null, () => pendingService.stop());
带绑定:
<spinner [hidden]="!pendingService.isActive"></spinner>
其次是使用 rjxs 并使用 where pending 将是可观察的布尔值。
<spinner [hidden]="pendingService.pending | async"></spinner>
对于 Angular 7,哪种解决方案更合适、更快捷?
【问题讨论】:
标签: angular asynchronous rxjs