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

Есть главная страница с полем инпута. Есть дочерний компонент. Подключен

роутинг и дочерний компонент показывается через <router-outlet></router-outlet>.

Вопрос: как можно передать вводимое в инпут значение из родительского элемента в дочерний?

То что я нашла предполагает, что дочка подключения через селектор элемент и ты просто передаешь пропсом.
Например:
<app-resilt></result>, но у меня же не элемент селектор, а <router-outlet></router-outlet>.

Так как мне передать пропс со значением из поля инпут в дочерний элемент?

19 ответов

64 просмотра

Можно через behaviorSubject, используя сервис

Irina-T. Автор вопроса
Tudor Duca
Можно через behaviorSubject, используя сервис

Подскажите, пожалуйста, какой сервис.

Irina T.
Подскажите, пожалуйста, какой сервис.

https://stackblogger.com/sharing-data-between-components-rxjs-angular/

Irina T.
Подскажите, пожалуйста, какой сервис.

если коротко: - некоторый класс с состоянрем и поведением - делаете его @Injectable() - провайдите его в родителе (где outlet) - инжектите в родителе и компоненте, который будет в аутлете - в родителе пишете данные в сабжект - в дочернем подписываетесь на сабжект

Irina-T. Автор вопроса
Tudor Duca
https://stackblogger.com/sharing-data-between-comp...

Подскажите, при вводе нового значения в поле инпут, передаваемые данные будут также динамически меняться?

Irina-T. Автор вопроса
Максим Федоров
что значит "передаваемые данные меняться"?

У меня в родителе инпут поля поиск. Мне надо динамически получать с него значения при каждом вводе.

Irina T.
У меня в родителе инпут поля поиск. Мне надо динам...

погодите, вы под ипутом понимаете <input/> или @Input() компонента?

Irina T.
Подскажите, при вводе нового значения в поле инпут...

инпут -> ввели данные -> эти данные отправили куда-то в др компонент зачем вы эти данные хотите динамически менять?

Irina-T. Автор вопроса
Максим Федоров
инпут -> ввели данные -> эти данные отправили куда...

Я наверно не так описала. Не сами передаваемые данные, а значение, вводимое в поле инпута. Пример, я ввожу слово "js", оно передается в другой компонент для обработки БД (например, фильтр). Затем ваодится другое значение, положим "angular", оно также передается в другой компонент, где данные БД уже фильтруются по этому слову.

Irina T.
Я наверно не так описала. Не сами передаваемые дан...

тут надо наверное иначе организовать все что значит передает? Пушит в сервис значение?

Irina T.
Я наверно не так описала. Не сами передаваемые дан...

я бы вот так сделал сервис-првоайдер данных, который ищет "в бд", отпарвляет запросы крч ему надо критерии передать, он возвращает стрим // service class SearchService { searchFilter$ = new Subject() search(s: string) { this.searchFilter$.next(s) } loadData(s: string) { return this.searchFilter$ .pipe( switchMap(s => this.http.get(....)) ) } } // component1 onChangeSearch(newVal: string) { this.searcher.search(newVal) } // component2 data$ = this.searcher.loadData()

Irina T.
Спасибо, попробую

фигню написал, сори, спрсоони

Irina T.
Я наверно не так описала. Не сами передаваемые дан...

Если я правильно понял то в сервисе создаем observable, в комопненте подписываемся на input valueChanges и пишем в observable сервиса, затем в источник данных для чайлд компонента подписываемся на этот observable ( возможно прямо в сервисе по работе с api можно его притянуть а не в сам компонент )

Irina-T. Автор вопроса

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
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
Карта сайта