我的组件中有一个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中传递参数。同样,在下面的方法中,makename变量保存各自的值。

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

09-20 03:48