Вам не нужно создавать экземпляр, вам нужно повторно использовать экземпляр, от которого зависит ваш компонент, и среду, созданную при запуске.
Невозможно обмениваться информацией между компонентами используя new
, вместо этого, благодаря внедрению зависимостей, вы можете сделать что-то вроде этого:
@Injectable({provideIn: 'root'})
export class MyService() {
object: T = null;
save(object: T) {
this.object = object;
}
retrieve(): T {
return this.object;
}
}
И вы можете использовать save
в компоненте и retrieve
в другом компоненте, ограничивая связь.
Используя new
, вместо этого вы получите два экземпляра MyService.object
. В этом случае сервисы очень похожи на синглтоны, но они не синглтоны, поскольку управляются фреймворком, а не разработчиком.