Anguar兄弟コンポーネント間の通信私は何かが子コンポーネント2は2
上でクリックされたときに子コンポーネント1でメソッドをコールするこの答えに従うことをしようとしたが、そのあまりにも混乱Angular 2 event catching between sibling components
子コンポーネント2は、trackClickというイベントを送出します。
親コンポーネント:
<div>
<audio-player></audio-player>
<audio-albums></audio-albums>
</div>
チャイルドコンポーネント1(オーディオプレーヤ)
// Don't know what to do here, want to call this function
trackChanged(track){
console.log("YES!! " + track);
}
子成分2(オーディオアルバム)
<li class="track" (click)="playTrack(track)"> </li>
@Output() trackClick = new EventEmitter<any>();
playTrack(track):void{
console.log("calling playTrack from child 2:" + track);
this.trackClick.next([track]);
}
ok私はそれがchild2-> parent-> child1である必要があるのではないかと心配しました。ありがとうございました。 –