1. ホーム
  2. angular

[解決済み] AngularでEventEmitterに2つのパラメータを渡すには?

2022-08-21 16:16:55

質問

私のコンポーネントには EventEmitter がありますが、エラーを投げるのでコンパイルできません。

提供されたパラメータは、コールターゲットのどのシグネチャにも一致しません。

私のコンポーネントです。

@Output() addModel = new EventEmitter<any>();

saveModel($event, make, name) {
  this.addModel.emit(make, name);
}

のパラメータの一つを削除すると this.addModel.emit() に2つのパラメータを渡すことは可能でしょうか? EventEmitter に2つのパラメータを渡すことは可能でしょうか?

どのように解決するのですか?

もし、あなたが EventEmitterのemitメソッド@ angular.io を見てみると、このメソッドが受け取ることができるのは T

emit(value?: T)

パラメータは1つだけなので、それを objectemit メソッドを使用します。

下のスニペットでは make &です。 name という変数がそれぞれの値を保持しています。

this.addModel.emit({make: make, name: name});
//shorthand is below
this.addModel.emit({make, name});