2
私は、親と子の2つのコンポーネントを持っています。子どもにはボタンがあります。私は親の中にあるメソッドを呼び出すために、子の中のそのボタンをクリックしたいと思う。なにか提案を?子供をクリックすると親からメソッドを呼び出す方法は?
私は、親と子の2つのコンポーネントを持っています。子どもにはボタンがあります。私は親の中にあるメソッドを呼び出すために、子の中のそのボタンをクリックしたいと思う。なにか提案を?子供をクリックすると親からメソッドを呼び出す方法は?
これは非常に基本的なもので、https://angular.ioのガイドでたくさんの例が見つかります。
まだ見つからない場合は、@Output
デコレータを使用し、EventEmitter
フィールドを設定し、ボタンをクリックするとemit
を呼び出す必要があります。あなたはイベント表記()
を使用して、あなたの親からそれに接続することができますこの方法:
親
@Component({
selector: 'parent',
template: `<child (buttonClick)="onButtonClick($event)"></child>`
})
export class ParentComponent {
public onButtonClick(event: MouseEvent): void {
// ...
}
}
子
@Component({
selector: 'child',
template: `<button (click)="buttonClick.emit($event)"></button>`
})
export class ChildComponent {
@Output()
public buttonClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();
}