我的组件中有一个EventEmitter
,但是我无法编译它,因为它返回错误:Supplied parameters do not match any signature of call target
我的组件:
@Output() addModel = new EventEmitter<any>();
saveModel($event, make, name) {
this.addModel.emit(make, name);
}
如果我删除
this.addModel.emit()
中的一个参数,它可以工作,但是可以:我可以将2个参数传递给我的eventEmitter
,如何操作?我也尝试过:
@Output() addModel = new EventEmitter<any,any>();
但这不起作用。
最佳答案
如果查看EventEmitter
API的emit
方法,则只能采用T
类型的单个参数
由于只允许使用单个参数,因此请考虑在发出方法中的object
中传递参数。同样,在下面的方法中,make
和name
变量保存各自的值。
this.addModel.emit({make: make, name: name});
//shorthand is below
this.addModel.emit({make, name});