如何将2个参数传递给EventEmitter angular2 [英] How pass 2 parameters to EventEmitter angular2
问题描述
我的组件中有一个EventEmitter
,但是我无法编译它,因为它返回错误:
Supplied parameters do not match any signature of call target
I have in my component an EventEmitter
but I can't compile it because it return the error:
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
以及如何吗?
If I delete one of parameters in this.addModel.emit()
it work, but so: Can I pass 2 parameters to my eventEmitter
and how?
我也尝试过:
@Output() addModel = new EventEmitter<any,any>();
但是它不起作用.
推荐答案
如果您查看EventEmitter
API的emit
方法,则只能采用类型为T
If you look at the EventEmitter
API's emit
method, it can only take single parameter of type T
发射(值?:T)
emit(value?: T)
由于只允许使用单个参数,因此请考虑在发出方法中像object
中那样传递参数.同样,在下面的方法make
&中, name
变量保留各自的值.
Since only single parameter is allowed, consider passing parameter as in object
in emit method. Likewise in below method make
& name
variable are holding their respective values.
this.addModel.emit({make: make, name: name});
//shorthand is below
this.addModel.emit({make, name});
这篇关于如何将2个参数传递给EventEmitter angular2的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!