169 похожих чатов

Всем привет. А какие пути есть передачи сервиса из родительского

компонента в дочерний? Например, я хотел бы использовать тот же сервис который внедрил в родительском компоненте в дочерний, чтобы не внедрять опять тот же сервис?
Текущая ситуация в том что, я внедряю одинаковые сервисы и в родительский, и в дочерний компонент. Насколько это правильно?

25 ответов

23 просмотра

если это работает так как вам нужно то это правильно если это работает не так как вам нужно то это не правильно

EventEmitter

внедрять сервис через @Input?

мы внедряем сервисы только в первый родительский - smart компонент. все что ниже общаются через input\output, как вариант. Вот почитай https://github.com/evoytenkoapps/angular-best-practices#%D0%B0%D1%80%D1%85%D0%B8%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%B0

Дара- Автор вопроса
Nikolai Kovalenko
внедрять сервис через @Input?

через @Input можно передавать объект этого сервиса

Определяем сервис в модуле общем для родителя и дочки, и через инжект подключаем сервис в родителя и дочку. Это будет один и тот же инстанс сервиса.

А зачем Вам это? Что за сервис там?) Обычные input/output не подойдёт для коммуникации?

Дара- Автор вопроса
Oleg Safonov
А зачем Вам это? Что за сервис там?) Обычные inpu...

Я еще не пробыввал через Input/Output. Просто в дочерним элементе и так уже много @Input. Хотелось бы другое решение

Дара- Автор вопроса
Aleksandr Koltovich
Определяем сервис в модуле общем для родителя и до...

А как сделать общим сервис для родителя и дочки?

Дара
Я еще не пробыввал через Input/Output. Просто в до...

А что за компонент такой? Может разделить его? Или объединить в объект поля, если там конфиг какой, например Если будет и инпут и сервис- будет странно)

Дара
А как сделать общим сервис для родителя и дочки?

Определить его в общем модуле. Я же выше написал )

Дара- Автор вопроса
Oleg Safonov
А что за компонент такой? Может разделить его? Или...

Ну там дочерний компонент, где надо общаться с базой и соответственно нуден сервис

Дара
понял

почитайте про то как работает DI в Angular

Aleksandr Koltovich
Определяем сервис в модуле общем для родителя и до...

+ или можно создать common модуль где будут общие сервисы для любых модулей - плюс инжект, если прям и стейт хранить то плюс ngrx - хотя на первых порах с монорепозиторием на сабджах я обходился выше крыши

Евгений Гений
мы внедряем сервисы только в первый родительский -...

smart Он не использует Input\Output это реально? у меня есть кастомный селект, запрашивающий список с сервера, в Input приходит параметр, какой список нужно запрашивать. Как это делать на умных/тупых?

Nikolai Kovalenko
smart Он не использует Input\Output это реально? ...

список с сервера должен запрашивать не компонент а сервис - и вбрасывать его например через async в компонент

Nikolai Kovalenko
smart Он не использует Input\Output это реально? ...

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

Nikolai Kovalenko
сервис и запрашивает

в сервисе сделай геттер который возвращает observable и без всяких инпутов заинжекти в конструктор сервис - спокойно во вьюху вставь метод через async пайп

Вот накидал пример реализации как у нас https://github.com/evoytenkoapps/angular-best-practices/tree/master/examples/src/app/components/smart-dumb-concept

Дара
А как сделать общим сервис для родителя и дочки?

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

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта