|
|
1
3
我相信在SelectedProductComponent订阅之前,ProductGalleryService.selectedProductSubject$subject已经发出。 如何解决这个问题? RxJS提供了另一种类型的主题——回放主题。 订阅ReplaySubject时,它将重新发出任何先前推送的值。 ReplaySubject有一个缓冲区大小,可以存储和重新发射多少项目。对于你的用例,我相信你只关心最后一个,所以BufferSize是1。
|
|
|
2
0
您可以尝试使用Angular AsyncPipe自动处理订阅/取消订阅。这对于将Observables绑定到模板非常有用。 而不是:
你会:
这还有一个额外的好处,即自动取消订阅。当您的组件被销毁时,您总是希望关闭订阅。在你的例子中,这还没有完成。这不是你的主要问题,而是另一个需要研究的问题。 |