首页 > 解决方案 > Angular Observables 取消订阅异步管道

问题描述

我正在使用 Angular + Ionic 构建一个应用程序。

当我使用async pipe在模板中的observable中呈现数据时。

我的理解是,当组件被销毁时, Angular会自动取消订阅observable ,但是,如果我移动到另一个页面,则不会触发ngOnDestroy事件。这是否意味着我没有取消订阅observable

谢谢!

标签: angularionic-framework

解决方案


unsubscribe并且ngOnDestroy是2个不同的概念:

  • unsubscribe关闭观察者流:订阅不会监听新事件
  • ngOnDestroy在指令被销毁时运行(从 DOM 中删除)

async管道会自动取消订阅它们提供的可观察对象:但这不是因为ngOnDestroy函数。

如果你的函数没有被触发,这要么意味着你没有破坏你的组件,要么你有问题。

如果是这样,请提供一个沙箱来复制它,例如在https://stackblitz.com


推荐阅读