angular - 我是否需要在组件中每次 onDestroy 时取消订阅?

标签 angular typescript

我想知道如果我像这样在我的构造函数中订阅流:

_eventEmitterService.event.subscribe((msg)=>{})

因此,当我将 View 更改为不同的组件并返回时,事件会从该流中触发两次。我是否需要在每次更改组件时使用 ngOnDestroy 取消订阅?

谢谢

最佳答案

我找到了!是的,根据 angular2 lifecycle-hook 中所述的文档指南:

ngOnDestroy
Cleanup just before Angular destroys the directive/component. Unsubscribe observables and detach event handlers to avoid memory leaks.

所以是的,您需要在 ngOnDestroy()

上取消订阅 observable

关于angular - 我是否需要在组件中每次 onDestroy 时取消订阅?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36794652/

相关文章:

node.js - 如何通过 webpack 导入 jQuery 插件并将其放在 $/jQuery 下? (ES6 + typescript )

Angular 6 - ngModel 的值仅在单击某处时出现

typescript - Angular 2 - 立即影响页面上的所有组件(第三方和您自己的)

javascript - Angular 2 如何在按钮返回时模糊输入?

javascript - 从命令行读取参数 - 错误 TS2304 : Cannot find name 'process'

javascript - typescript 静态类

javascript - 为什么 Angular 会将索引 0 数组插入子数组而不是索引 1?

angular - 将变量从 ngFor 传递到组件的方法

javascript - 页面加载时隐藏菜单,onclick按钮显示菜单,第一次单击显示,第二次单击隐藏,就像 Angular 4.0中的切换一样

angular - 无法使用 angular 8 使用带有 xlsx 的 json 数据导出到 excel