提问者:小点点

角度观察取消订阅异步管道


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

当我使用异步管道在模板中以可观察的形式呈现数据时。

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

谢谢!


共2个答案

匿名用户

取消订阅ngOnDestroy是两个不同的概念:

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

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

如果您的函数没有被触发,这要么意味着您没有销毁您的组件,要么意味着您有问题。

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

匿名用户

Ionic堆栈视图,所以最好的方法是手动销毁在ion ViewDIDLeve生命周期钩子中的订阅。