angular - Angular Observables 取消订阅异步管道
问题描述
我正在使用 Angular + Ionic 构建一个应用程序。
当我使用async pipe在模板中的observable中呈现数据时。
我的理解是,当组件被销毁时, Angular会自动取消订阅observable ,但是,如果我移动到另一个页面,则不会触发ngOnDestroy事件。这是否意味着我没有取消订阅observable?
谢谢!
解决方案
unsubscribe
并且ngOnDestroy
是2个不同的概念:
unsubscribe
关闭观察者流:订阅不会监听新事件ngOnDestroy
在指令被销毁时运行(从 DOM 中删除)
async
管道会自动取消订阅它们提供的可观察对象:但这不是因为ngOnDestroy
函数。
如果你的函数没有被触发,这要么意味着你没有破坏你的组件,要么你有问题。
如果是这样,请提供一个沙箱来复制它,例如在https://stackblitz.com
推荐阅读
- razor - 为什么html输入时间控件绑定到blazor中的属性时会失去焦点?
- google-cloud-firestore - 有没有办法清空 Firebase Cloud Functions 中的缓存变量?
- powershell - 如何通过命令行或 Power Shell 在 Window 10 上启用虚拟化?
- json - 使用 Axios 和 Vue 从 JSON API 获取远程数据
- java - Order类的电子商务底层设计
- html -
与 flex-direction: column 结合使用时在 Firefox 中被忽略 - python - 未知字段类型:尝试打开 DBF 数据库时为 64
- swagger - ASP.Net Core 3.1 Swagger Page Loads via HTTPS but Try It Now uses HTTP and Browser Fails Request
- node.js - 无法从 url javascript 获取照片
- c# - 当代码是 `Func 时,允许工厂执行的代码引发事件
`?