Настройка
У меня есть одноэтапная служба, GlobalSearchService
, которую я загружаю и предоставляю в AppModule
. Это единственное место, где указан провайдер для этой услуги, и единственный модуль, в который она импортируется.
Желаемый результат
Я сделал это в надежде, что GlobalSearchService
будет действовать как глобальный синглтон, доступный для всех компонентов, которые загружают его и объявляют в конструкторе.
Фактический результат
Сервис синглтона работает точно так же, как я описал выше, если только и пока маршрут не будет изменен. Каждый раз, когда маршрут меняет сервис сбрасывается в исходное состояние без данных.
Исправление?
Я ищу способ гарантировать, что этот глобальный синглтон поддерживает свое состояние независимо от каких-либо действий. кроме разрушительных действий браузеров (таких как перезагрузка / перефразировка sh, и т. д. c).
Что я пробовал
Я пытался настроить forRoot
, хотя я мог бы сделать это неправильно, так как мои знания forRoot
ограничены. Я также гарантировал, что providedIn
установлено на 'root'
в реальном сервисе. Прямо сейчас у меня есть компонент приложения, сбрасывающий состояние при каждом изменении маршрута, так как служба все равно кэширует свое состояние, но я чувствую, что это не правильный способ go об этом.