【发布时间】:2018-03-23 01:02:25
【问题描述】:
我正在尝试使用 Angular 2 并缓存从后端服务接收到的值。我注意到我遇到了以下模式 - 使用带有未定义初始值的 BehaviorSubject 并过滤它以推迟显示依赖于从后端接收的值的控件。
private _lazyValue: BehaviorSubject<ILazyValue> =
new BehaviorSubject<ILazyValue>(undefined);
get lazyValue(): Observable<ILazyValue> {
return this._lazyValue.filter(val => val !== undefined);
}
内模板:
<div *ngIf="lazyValue | async; else nolv; let lv">
<app-some-control [lazy_value]="lv"></app-some-control>
</div>
<ng-template #nolv>
<span>Loading...</span>
</ng-template>
问题:这个有点可疑的表达有什么捷径:
this._lazyValue.filter(val => val !== undefined)
我会以某种方式滥用BehaviorSubject吗?
【问题讨论】:
标签: angular typescript rxjs