我在服务中有一个BehaviorSubject,它需要一个带有isLoading
布尔变量的LoadingParams
对象:
showLoadingSubject = new BehaviourSubject<LoadingParams>(
new LoadingParams(false, 'some text')
);
我在一个组件中使用它如下:
showLoading: this.theService.showLoadingSubject.asObservable();
在模板中是
<div class="loading-screen" *ngIf="showLoading.isLoading | async" #containerDivSuper>
some content in the div
</div>
然后div应该由显示
this.showloadingSubject.next(new LoadingParams(true, 'somestring'));
但是div在下一次调用之后不会显示。
有人看到我做错了什么吗?
好的解决了它,类似于异步管道不使用Subject,它在指令的语法中。
<div class="loading-screen"
*ngIf="showLoading ? (showLoading | async).isLoading : false" #containerDiv>
Some text
</div>
我还添加了一个检查,看看可观察到的是否没有定义,因为我得到了一个未定义的错误。