Angular Observables 取消订阅异步管道

Pep*_*aña 3 ionic-framework angular

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

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

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

谢谢!

小智 7

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

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

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

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

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