аналогично, как прописывать его в providers в каждом компоненте? То есть в каждом компоненте будет свой экземпляр сервиса, я правильно понял any?
providedIn: root может?
Нет. any - это не строка(в отличии от "root", это ссылка на модуль.
с 9 версии кажись есть 'root' : The application-level injector in most apps. 'platform' : A special singleton platform injector shared by all applications on the page. 'any' : Provides a unique instance in each lazy loaded module while all eagerly loaded modules share one instance.
почему не строка? https://i.imgur.com/VR7sWVu.png
Судя по вопросу понимание "providedIn" в корне неправильное. Либо используйте "root", либо разберитесь с вопросом.
мне нужен уникальный экземпляр сервиса в каждом компоненте, это я делаю подключая сервис в providers компонента. Но если я правильно понял providedIn: 'any' при подключении сервиса в компонент так же создает его отдельный экземпляр
Хм...да, я ошибся. Как быстро меняется мир. Судя по вашему описанию "any" инжектит свой инстанс в каждый lazy модуль, в отличии от "root", который обеспечивает общий инстанс для всех модулей.
значит я правильно понял, что можно выпиливать из каждого компонента providers и просто оставить сервису any. Все модули лейзи
Лучший способ ответить - просто провести эксперимент;) Чисто из описания похоже на то, что "any" это чуть про другое и больше про уровень принадлежности к некоторому NgModule того компонента, который его инжектит. Спасибо, что подняли вопрос...Хоть сам посмотрел https://dev.to/christiankohler/improved-dependeny-injection-with-the-new-providedin-scopes-any-and-platform-30bb
ммм да, если 2 компонента будут в одном NgModule тогда инстанс скорее все будет общий, не прокатит. Не за что!
https://www.youtube.com/watch?v=Z4nlCClVU4U
годно, спасибо!
Обсуждают сегодня