rob*_*011 1 rxjs angular-template angular
我有两个观察点。第一个observable用于ngIf-Block语句。第二个可观察对象用于ngIf-Block内部,并映射第一个可观察对象的值。
第二个可观察到的对象不会从ngIf-Block内部的源获得第一个更新。另一方面,它在ngIf-Block之外起作用。
对这种意外行为有任何解释吗?
示例:https://stackblitz.com/edit/angular-rxjs-template-update-problem
发生这种情况是因为number$它是Subject,并且在*ngIf其内部使用,这意味着它sum$仅在创建此模板块后才订阅,并且在用sum$进行更新后才发生this.number$.next(1)。
因此,您可以使用ReplaySubject(1)替代方法,该方法将向每个新订户重播其最新项目,因此,当async内部的模板管道对其进行*ngIf订阅时,它将获得重播的最后一个值并按预期进行更新。
您更新的演示:https : //stackblitz.com/edit/angular-rxjs-template-update-problem-xb5f3s?file= src/app/ app.component.ts
| 归档时间: |
|
| 查看次数: |
21 次 |
| 最近记录: |