用于自动清除事件处理程序的模式,类似于订阅

问题描述 投票:1回答:1

我熟悉用于清理可观察对象的订阅的模式,如下所示:Angular/RxJs When should I unsubscribe from Subscription

但是清理事件处理程序有类似的模式吗?

我有一个组件,该组件修改模板以将一些事件处理程序应用于其他各种元素。还涉及其他订阅,使用Subscription进行清理可以进一步简化所有操作。目前,我只是维护一个单独的ngrx-take-until-destroy数组,以便在销毁时进行收集和清理。

Unsubscribable

我宁愿不维护此数组,并且以类似的方式对监听器进行一些自动清理。我有什么选择?

angular typescript rxjs code-cleanup resource-cleanup
1个回答
0
投票
您不需要清理作为组件一部分的DOM元素上的事件处理程序,仅当组件被销毁后DOM元素仍然处于活动状态时,才需要清理事件处理程序。

之所以需要清理从服务返回的可观察对象的订阅,是因为在组件销毁后仍可引用那些可观察对象,如果您有一个由该组件创建的可观察对象,则可以让整个组件陷入垃圾收集而不必担心关于订阅。 DOM元素也是一样。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.