提问者:小点点

@组件的Angular@取消订阅装饰器


您可能都知道,您需要取消订阅可观察对象以防止内存泄漏。

我不明白为什么不只是创建@Unc订阅装饰器的组件类,你使用可观察的,它将通过所有的属性和取消订阅所有的订阅销毁。

或者更多的糖:扩展@Component装饰器以添加此类行为。

现在问题:这个解决方案的陷阱是什么?


共1个答案

匿名用户

实际上,有一篇关于这个的好文章。

这是概述

@AutoUnsubscribe(["one$", "two$"])
class TestComponent {
  ...
}

其中一个$和两个$是您的可观察对象,它将在NgOnDestroy中自动取消订阅

如果您使用的是AOT,请确保在组件中添加了NgOnDestroy。看这个