如何将2个参数传递给EventEmitter angular2 [英] How pass 2 parameters to EventEmitter angular2

查看:124
本文介绍了如何将2个参数传递给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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆