2017-11-24 8 views
0

Event Emitterに関数を渡すことは可能ですか?eventEmitterに渡される関数を取得する角度4

私が部品を持っていると私は、このようなイベントのエミッタに関数を渡す:

<component (onClick)='function(parameter)'></component> 

、私のコンポーネントで、私は機能を受け取るためにこのようにクリックしたときに発するように@outputがあります

@Output() onClick: EventEmitter<any> = new EventEmitter<any>(); 
<button (click)="onClick.emit($event)"> 

私は、コンポーネントに渡す機能を取得したいと思いますか?

答えて

0

可可

子コンポーネント内に追加機能があります。

@Output() onClick: EventEmitter<any> = new EventEmitter<any>(); 

    public add(a: number, b: number): number { 
    return a + b; 
    } 

やボタンのイベントをクリックして、あなたは子コンポーネントからのイベントをリッスンすることができ、あなたの親コンポーネント内部関数に

<button (click)="onClick.emit(add)">Add</button> 

を発することができます。

<component (onClick)='someFunc($event)'></component> 

イベントがトリガされたときに関数を呼び出します。

someFunc(add: any) { 
    const result = add(5, 5); 
    console.log('and result is',result); 
} 
0

このようにしてみてください:

<component (onClick)='function($event)'></component>

代わりの

<component (onClick)='function(parameter)'></component>

関連する問題