角度服务"生命周期"在延迟加载

时间:2018-01-31 02:15:59

标签: angular typescript dependency-injection lazy-loading lifecycle

我们知道Angular服务没有组件所具有的生命周期。我的问题是关于' destruct'完成后的服务。

在我的应用程序中,有一个惰性模块Module A在加载时提供服务Service A(只有Module A需要Service A)。 完成后,我调用另一个惰性模块,不再需要Service A,但它由Angular注入器保留。更具体地说,Angular注入器树现在有一个根注入器和Module A的子注入器。

我的问题:由于服务一直在运行,我应该创建一个函数来销毁它(取消订阅,清理数组等)并在关闭Module A时调用它另一种摧毁它的方法?

我已经搜索了Angular Injector Class,但它没有一些delete方法来删除特定服务。

1 个答案:

答案 0 :(得分:1)

如果您在组件中注册服务,例如模块A的主要组件而不是模块A中的服务,那么当组件被销毁时,服务将被销毁。