Передача данных из дочернего компонента в дочерний компонент - PullRequest
0 голосов
/ 15 июня 2019

У меня внутри родительского компонента, два дочерних компонента app-search и app-list, как показано ниже:

<app-search-panel (searchedParam)="childEventClicked($event)"></app-search-panel>
<app-list-panel [event]="searchedParam"></app-list-panel>

Внутри app-search у меня есть форма, которая при отправке значения должна быть переданавторому ребенку.

childEventClicked(event: any){
        console.log("dashboard", event);
        this.searchedParam = event;
    }

app-search-panel.ts

@Output() searchedParam = new EventEmitter();

onSubmit() {
 this.searchedParam.emit(cityName);
}

list-panel.ts

@Input() event: any;

Я не могу получитьзначение в этом компоненте.

Может кто-нибудь, пожалуйста, помогите мне.какую ошибку я совершил.

СПАСИБО.

1 Ответ

0 голосов
/ 20 июня 2019

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

Решения:

1> передать данные child1 -> Parent ---> child2 2> использовать субъект или субъект поведения для связи двух компонентов.

вы можете найти их для справки для второго решения

https://jasonwatmore.com/post/2019/02/07/angular-7-communicating-between-components-with-observable-subject

...