我正在使用 Angular 2+。
作为组件的 ngOnDestroy 的一部分,我想销毁/删除服务实例化。
这可能吗?
有谁知道怎么做?
当然,下次加载组件时,我想重新创建服务,然后在组件死亡时销毁。
编辑:
我想要实现的是每个组件都有一个专用的 Web 套接字。当组件被销毁(ngOnDestroy)时,断开 websocket。
最佳答案
我假设您的模块的 providers 数组包含该服务。从那里将其删除,并将其范围限定为组件,如下所示:
@Component({
selector: 'yb-page',
providers: [ServicePerComponent]
})
这基本上可以防止 Angular 为服务制作单例。相反,它将为每个组件创建一个新服务。因此,一旦该组件死亡,您就可以在 onDestroy 中运行服务的清理逻辑。
更多信息:https://angular.io/guide/hierarchical-dependency-injection
关于angular - 强制服务销毁?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45065779/