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

Добрый день! Нуждаюсь в вашей помощи. Есть три компонента А>B>C

(стрелка указывает вложенность). У меня есть функция, которая рендерит канвасы (пдфки). Эта функция находится в компоненте "С". Мне надо вызывать эту функцию при первой инициализации компонента, и в последующем при нажатии на кнопку увеличения в компоненте "A". Как я могу получить доступ к функции рендера в компоненте А? Надеюсь не запутал вас.

36 ответов

18 просмотров

Через общий сервис

Вынести все в сервис

используй viewchild или как там и дергай методы ниже. наверное.

вот описание 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

Adam-Abdulaev Автор вопроса
Евгений Гений
используй viewchild или как там и дергай методы ни...

Привет. Этот способ не подойдёт , так между ними ещё один компонент

Adam-Abdulaev Автор вопроса
Евгений Гений
сделай тоже самое в прослойке. a method b. b metho...

Меня всегда немного смущал этот подход. Насколько это нормальная практика? Через несколько компонентов так прокидывать?

Adam Abdulaev
Меня всегда немного смущал этот подход. Насколько ...

для меня этот подход очень легко читается и поддерживается

Adam-Abdulaev Автор вопроса
Евгений Гений
для меня этот подход очень легко читается и поддер...

Понятно. Наверное так и сделаю, так как выносить в сервис этот метод будет довольно проблематично. Спасибо

Adam Abdulaev
Понятно. Наверное так и сделаю, так как выносить в...

в сервис не метод выносят а сабджект. и на него подписываются или дёргают

Adam Abdulaev
Понятно. Наверное так и сделаю, так как выносить в...

правда я не знаю ещё минусы этого подхода при вставке компонентов через ng-content или как там. у вас жёстко вставленны?

Евгений Гений
а как лучше и почему?

ну типа, если иерархия а-б-с, то почему первый раз триггерит при инициализации с?

Евгений Гений
а как лучше и почему?

ну и вообще, рулить методами чайлда через вьючайлд такое себе

Adam-Abdulaev Автор вопроса
Евгений Гений
и? какое не какое себе?

либо сервисы. либо прокидывать по иерархии триггер, на который отработает метод чайлда

Eugene Udalov 🇷🇺
либо сервисы. либо прокидывать по иерархии триггер...

Разделяемый компонент может быть Смарт компонентом ?

Евгений Гений
сервисы чем лучше viewchild?

а чем хорошо дергать чайлда чайлда?

Oleg Zhikharev
Разделяемый компонент может быть Смарт компонентом...

он должен быть смарт компонентом, т.к. отвечает за функциональность, которую будут использовать другие компоненты

Eugene Udalov 🇷🇺
а чем хорошо дергать чайлда чайлда?

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

Евгений Гений
тем что сервисы инжектишь только смарты, и все дам...

Улучшает ли это юзабилити пользователей программы ?

Евгений Гений
тем что сервисы инжектишь только смарты, и все дам...

ага. а потом возникнет соблазн не юзать контрол вэлью эксессор, и дернуть форму чайлда ) и прочая дичь

Eugene Udalov 🇷🇺
ага. а потом возникнет соблазн не юзать контрол вэ...

форму чайлда дёргать не надо. она может эмитить данные и свои статусы на верх. резетить её можно лобо через инпут либо через viewchild

Евгений Гений
мы так не делаем. разделяемый тоже дамб.

Представляете в скольких местах программы нужно повторить Смарт функции ?

Евгений Гений
форму чайлда дёргать не надо. она может эмитить да...

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

Евгений Гений
что такое смарт функция в вашем понимании?

Функция самая обычная в Смарт компоненте которая выполняется в ответ на output от дамб компонента

Евгений Гений
форму чайлда дёргать не надо. она может эмитить да...

или другими словами, вот у меня С, у него инпуты (или сервис) и я пониманию, что и где триггерит. и вот твой вариант. инпутов нет, наружу ничего не торчит, но методы отрабатывают. кто вызывает, где, как? магия

Eugene Udalov 🇷🇺
или другими словами, вот у меня С, у него инпуты (...

эти методы можно поместить в интерфейс и постамидь модификатор public что явно даёт понять что они нужны с наружи.

Евгений Гений
эти методы можно поместить в интерфейс и постамидь...

короче, не принял бы я твой PR. надо еще один вопрос к списку на собесы добавить 😁

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

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

Мужики и девушки, привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных...
Kraszx
14
Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Я вот подумал. SSE выполняет операции максимум с 64-битной точностью. А FPU - всегда с 80-битной. Разве не должно быть FPU точнее тогда?
The Bird of Hermes
13
как быть с принтером? такой подход прокатит?
zamtmn
12
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
Я не понимаю, это троллинг или что? Швабрика поддерживают, который буквально пишет на ассемблере взаимодействия с винапи. Я это ещё написал загрузчик и хоть что-то изучаю в о...
Shadow Akira
6
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
А вот это что за конструкция? Вернее, она тут нафига?
Serjone
10
Привет. Подскажите, как правильно сматчить лист фиксированного размера, чтобы компилятор не говорил мне о неполном паттерне? Допустим что-то такое [x', y'] = sort [x, y]?
Arseny
8
Карта сайта