Size: a a a

Angular - русскоговорящее сообщество

2019 October 09

I

Ivan in Angular - русскоговорящее сообщество
Veaceslav Artiom
И поставить в модуле в providers этот сервис. Вот и все.
Если так сделать, то этот сервис доступен во всем приложении
источник

VA

Veaceslav Artiom in Angular - русскоговорящее сообщество
Ivan
Если так сделать, то этот сервис доступен во всем приложении
Хмм, чёт я не уверен. Но спорить не буду.
источник

DT

Dmitry Teplov in Angular - русскоговорящее сообщество
Veaceslav Artiom
Так в сервисе удали Injectable in root
я так понимаю, у него и нет рута там
там provideIn: MyModule
источник

DT

Dmitry Teplov in Angular - русскоговорящее сообщество
Ivan
Всем привет! Столкнулся с проблемой - есть отдельный модуль в приложении, хочу сделать сервис, который может использоваться только в этом модуле, сделал как в документации - в сервисе написал providedIn: MyModule. Но после этого появляется варнинг о циклической зависимости. Возможно я сделал что-то не так или есть дургой способ?
сервис инжектит какие-то сервисы в себя?
есть вероятность, что он инжектит сервис, который в свою очередь инжектит этот сервис
источник

VA

Veaceslav Artiom in Angular - русскоговорящее сообщество
Dmitry Teplov
я так понимаю, у него и нет рута там
там provideIn: MyModule
Да, не внимательно читал. Простите ребят.
источник

DT

Dmitry Teplov in Angular - русскоговорящее сообщество
Veaceslav Artiom
И поставить в модуле в providers этот сервис. Вот и все.
по поводу этого - рекомендуется использовать теперь provideIn, потому что это лучше оптимизируется
источник

I

Ivan in Angular - русскоговорящее сообщество
Dmitry Teplov
сервис инжектит какие-то сервисы в себя?
есть вероятность, что он инжектит сервис, который в свою очередь инжектит этот сервис
источник

DT

Dmitry Teplov in Angular - русскоговорящее сообщество
хм
а в catalog.module не импортируется что либо из файла с сервисом?)
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
Dmitry Teplov
хм
а в catalog.module не импортируется что либо из файла с сервисом?)
скорее в компонент использует сервис
в сервисе импортится модуль
в модуле импортится компонент
в компоненте ... импортится сервис
источник

I

Ivan in Angular - русскоговорящее сообщество
Dmitry Teplov
хм
а в catalog.module не импортируется что либо из файла с сервисом?)
импортируется компонент, в котором используется этот сервис)
источник

DT

Dmitry Teplov in Angular - русскоговорящее сообщество
Ivan
импортируется компонент, в котором используется этот сервис)
ну лол, что-то как-то странно
https://github.com/angular/angular-cli/issues/10170#issuecomment-380673276

как вариант - добавить отдельный модуль (CatalogServiceModule), туда запровайдить сервис и импортиовать модуль в CatalogModule

либо использовать провайдеры в модуле по старинке
источник

KA

Kulagin Alex in Angular - русскоговорящее сообщество
Ivan
импортируется компонент, в котором используется этот сервис)
Модуль импортирует компонент, компонент сервис, сервис модуль. Все как @dersizes сказал
источник

I

Ivan in Angular - русскоговорящее сообщество
Kulagin Alex
Модуль импортирует компонент, компонент сервис, сервис модуль. Все как @dersizes сказал
да, я это понимаю, но тогда каким образом мне привязать сервис к модулю, и использовать его в компонентах этого модуля?
источник

DT

Dmitry Teplov in Angular - русскоговорящее сообщество
Kulagin Alex
Модуль импортирует компонент, компонент сервис, сервис модуль. Все как @dersizes сказал
это понятно, непонятно зачем вообще было интродьюсить такую механику, если без костылей не работает ¯\_(ツ)_/¯
источник

DT

Dmitry Teplov in Angular - русскоговорящее сообщество
Ivan
да, я это понимаю, но тогда каким образом мне привязать сервис к модулю, и использовать его в компонентах этого модуля?
https://t.me/angular_ru/291741
тут описал варианты решения
источник

I

Ivan in Angular - русскоговорящее сообщество
Dmitry Teplov
это понятно, непонятно зачем вообще было интродьюсить такую механику, если без костылей не работает ¯\_(ツ)_/¯
была идея ограничить доступ к сервису
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
Dmitry Teplov
ну лол, что-то как-то странно
https://github.com/angular/angular-cli/issues/10170#issuecomment-380673276

как вариант - добавить отдельный модуль (CatalogServiceModule), туда запровайдить сервис и импортиовать модуль в CatalogModule

либо использовать провайдеры в модуле по старинке
и это уже наводит на мысль
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
что в итоге сервис всеравно будет глобальный
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
но это надо проверить)
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
Ivan
была идея ограничить доступ к сервису
не экспортируй сервис из модуля
источник