我的组件中有一个EventEmitter,但我无法编译它,因为它会抛出错误:

提供的参数与调用目标的任何签名都不匹配

我的组件:

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

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

如果我删除this.addModel.emit()中的一个参数,它可以工作,但是否可以将2个参数传递给EventEmitter,以及如何传递?

推荐答案

如果您看一下EventEmitter emit method @ angular.io,它只能接受一个类型为T的参数

emits (值?:T)

因为只有一个参数是允许的,所以考虑把它作为一个objectemit方法.

在下面的片段中,make&;name个变量保持各自的值:

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

Angular相关问答推荐

Angular 单元测试组件s @ Input.'变化值检测

如何将角17中的嵌套组件与独立组件一起使用?

如何使用来自不同可观测对象的值更新可观测对象

如何以Angular 解析表单控件名称的无值访问器?

等待可观察性完成后再调用下一个

使用 primeng Apollo 主题进行实时部署时多次加载 theme.css 和 preloading.css 文件

Angular 信号 在 effect() 中使用 debounce

使用Dragula时,ReactiveForm元素在拖动副本中显示不同的