ngIf块内部可观察到的角度rxjs错过了第一次更新

robie2011

我有两个观察值。第一个observable用于ngIf-Block语句。第二个Observable在ngIf-Block内部使用,并映射第一个Observable的值。

第二个可观察到的对象不会从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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章