uks*_*ksz 9 typescript angular
我想知道如果我在我的构造函数中订阅流如下:
_eventEmitterService.event.subscribe((msg)=>{})
Run Code Online (Sandbox Code Playgroud)
因此,当我将视图更改为不同的组件并返回时,事件将从该流触发两次.每次更改组件时,是否需要取消订阅ngOnDestroy?
谢谢
Pie*_*Duc 13
我找到了!是的,根据angular2 lifecycle-hook指南中的说明,每个文档:
在Angular破坏指令/组件之前的ngOnDestroy清理.取消订阅observable并分离事件处理程序以避免内存泄漏.
所以,是的,您需要取消订阅可观察量 ngOnDestroy()
这是皮埃尔的绝佳答案的另一个暗示.该async管道自动退订它适用于观测.因此,您需要取消订阅您自己管理的可观察对象.
在源代码中查看此行: