Есть вопросы относительно времени жизни сервисов Angular. Мое текущее понимание состоит в том, что если вы вводите службу в компонент, и служба предоставляется в массиве поставщиков этого компонента, тогда служба будет уничтожена, когда компонент будет уничтожен.
Вот пример, который будет менее абстрактным:
@Component({
selector: 'app-offline-header',
templateUrl: './offline-header.component.html',
styleUrls: ['./offline-header.component.css'],
providers: [WebsocketService]
})
export class OfflineHeaderComponent{
constructor(private socket: WebsocketService) {}
}
В приведенном выше примере WebsocketService
вводится на уровне этого компонента, а не в app.module (или другом модуле). Итак, если этот компонент будет уничтожен, экземпляр службы также будет уничтожен?
Вопросов:
Когда этот компонент уничтожается, уничтожается ли также экземпляр
WebsocketService
?Если бы мы должны были предоставлять эти услуги в корневом модуле (
app.module
), будет ли тогда служба одноэлементной? Если это так и служба является синглтоном, когда создается этот синглтон?