强制服务销毁?

Cha*_*lie 2 angular2-services angular

我正在使用Angular 2+.

作为组件的ngOnDestroy的一部分,我想销毁/删除服务实例.

这可能吗?

谁知道怎么样?

当然,下次加载组件时,我想重新创建服务,然后在组件死亡时销毁.

编辑:

我想要实现的是每个组件的专用Web套接字.当组件被销毁(ngOnDestroy)时,断开websocket.

see*_*ode 8

我假设你的模块的providers数组包含服务.从那里删除它,并将其范围限定为组件,如下所示:

@Component({
  selector: 'yb-page',
  providers: [ServicePerComponent]
})
Run Code Online (Sandbox Code Playgroud)

这基本上可以防止角度为服务制作单例.它将为每个组件创建一个新服务.因此,一旦该组件死亡,您就可以在onDestroy中运行该服务的清理逻辑.

更多信息:https://angular.io/guide/hierarchical-dependency-injection