我正在使用Angular Ionic构建一个应用程序。
当我使用异步管道在模板中以可观察的形式呈现数据时。
我的理解是,当组件被销毁时,Angular会自动取消订阅可观察对象,但是,如果我移动到另一个页面,则不会触发ngOnDestroy事件。这是否意味着我没有取消订阅可观察对象?
谢谢!
取消订阅
和ngOnDestroy
是两个不同的概念:
取消订阅
关闭观察者流:订阅不会侦听新事件ngOnDestroy
在指令被销毁(从DOM中删除)时运行async
管道会自动取消订阅它们提供的可观察对象:但这并不是因为ngOnDestroy
函数。
如果您的函数没有被触发,这要么意味着您没有销毁您的组件,要么意味着您有问题。
如果是,请提供一个沙盒复制它,例如在https://stackblitz.com
Ionic堆栈视图,所以最好的方法是手动销毁在ion ViewDIDLeve生命周期钩子中的订阅。