Имея некоторые вопросы относительно срока службы 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
), то был ли сервис единственным? Если в этом случае услуга является одноэлементной, то когда создается этот одноэлементный файл?