0

当组件被销毁时,Angular 是否会自动“处理/关闭/完成”组件使用的可观察对象及其相关订阅?

或者我应该在组件的 onDestroy 中明确地处理它们?

根据这个问题的公认答案,至少在 2017 年 4 月之前需要手动处理可观察对象。

我想知道是否仍然如此

编辑 1

在角度文档中,我发现这个管道 似乎可以解决问题,但我不确定如何在我的组件中使用它。开发人员不应该在 subscribe.next 中设置属性,而是应该将 observable 存储在属性中。如果我使用异步管道并将属性设置为可观察对象,以下组件模板将如何变为?

<h1>{{property.title}}</h1>
<p>{{property.description</p>
4

1 回答 1

1

你不需要取消订阅所有的 observables。

您应该取消订阅:

  • 表单控件
  • 自定义可观察对象,基本上或您从主题等创建的观察对象。
  • 一般第三方可观察的

您无需取消订阅:

  • HttpCLient
  • 路由器
  • 一些运营商喜欢采取
  • 使用异步管道

额外资源:

https://www.reddit.com/r/Angular2/comments/66v9yy/so_we_should_never_really_unsubscribe_from/

Angular/RxJs 我什么时候应该取消订阅“订阅”

https://medium.com/@benlesh/rxjs-dont-unsubscribe-6753ed4fda87

于 2018-02-13T09:54:04.893 回答