我试着按照这个答案,但它太混乱的Angular 2事件在兄弟组件之间捕捉
我想在子组件2上单击某个东西时调用子组件1中的方法
子组件2发出一个名为trackClick的事件.
父组件:
<div>
<audio-player></audio-player>
<audio-albums></audio-albums>
</div>
Run Code Online (Sandbox Code Playgroud)
子组件1(音频播放器)
// Don't know what to do here, want to call this function
trackChanged(track){
console.log("YES!! " + track);
}
Run Code Online (Sandbox Code Playgroud)
儿童组件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]);
}
Run Code Online (Sandbox Code Playgroud)