在组件的 onDestroy 时处理可观察对象和订阅

Taking care of observables and subscriptions upon components' onDestroy

当组件被销毁时,angular 是否会自动 "handles/closes/completes" 组件使用的可观察对象及其相关订阅?

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

根据 的已接受答案,至少在 2017 年 4 月之前需要手动处理可观察量。

不知道现在是不是这样

编辑 1

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

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

您不需要取消订阅所有可观察对象。

您应该取消订阅:

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

您无需取消订阅:

  • HttpCLient
  • 路由器
  • 有些运算符像 take
  • 使用异步管道

额外资源:

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

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