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

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

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

25 ответов

21 просмотр

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

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. А про сервисы в инпутах первый раз слышу, что за ересь

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

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

Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Ну вот просто даже давайте вот как. Какой нибудь конкретный кейс, можете в пример привести, где бч работает и приносит прикладную пользу, а не просто что бы было? Не крипту.
Alexander Andreev
22
объясните пожалуйста, почему функция не работает должным образом? вроде должно брать активное окно сравнивать его размер с размером экрана, и если есть совпадение = true прове...
JF
12
Гляньте, че бывает: Сегодня по одному проекту одной вебстудии делал проект небольшой, на их хостинге. На Modx revo. В определенный момент , работая в админке, вдруг перестал р...
Artem
7
лучше скажите, причём тут паскаль?
Alexey Kulakov
36
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
12
> Копаем глубже > Следующий момент был, когда я спросил его, знает ли он JavaScript. Он ответил, что его учили работать с C#. Я тоже в университете писал на C#, но даже там мн...
Oleg Volkov
4
И никого не интересует какие пакеты кто использует. ((% Заходишь на сайт симфони и видишь поддержку Украины - по законам РФ это ж экстремизм. Только никто не отказывается от с...
Am Ambrion
11
Кто нибудь либу Zstandart использовал ? Это либа для сжатия от Цукерберга
Andrey Electron
9
Чтобы перехватить все нажимания буков на форме, надо хук ставить? Пробовал на форме ОнКейДаун, оно ловит клаву если фокус не на компоненте с вводом текста
Serjone
15
Карта сайта