Сервис Singleton сбрасывается после изменения маршрута - PullRequest
0 голосов
/ 13 января 2020

Настройка

У меня есть одноэтапная служба, GlobalSearchService, которую я загружаю и предоставляю в AppModule. Это единственное место, где указан провайдер для этой услуги, и единственный модуль, в который она импортируется.

Желаемый результат

Я сделал это в надежде, что GlobalSearchService будет действовать как глобальный синглтон, доступный для всех компонентов, которые загружают его и объявляют в конструкторе.

Фактический результат

Сервис синглтона работает точно так же, как я описал выше, если только и пока маршрут не будет изменен. Каждый раз, когда маршрут меняет сервис сбрасывается в исходное состояние без данных.

Исправление?

Я ищу способ гарантировать, что этот глобальный синглтон поддерживает свое состояние независимо от каких-либо действий. кроме разрушительных действий браузеров (таких как перезагрузка / перефразировка sh, и т. д. c).

Что я пробовал

Я пытался настроить forRoot, хотя я мог бы сделать это неправильно, так как мои знания forRoot ограничены. Я также гарантировал, что providedIn установлено на 'root' в реальном сервисе. Прямо сейчас у меня есть компонент приложения, сбрасывающий состояние при каждом изменении маршрута, так как служба все равно кэширует свое состояние, но я чувствую, что это не правильный способ go об этом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...