【发布时间】:2020-10-14 22:18:28
【问题描述】:
我有一个子组件,每当用户更改选择时,我都会使用primeng 插件中的下拉菜单将其值发送给父组件。我使用 EventEmitter.emit() 函数来发出一个解决方案类型的值。 Solution 是我自己定义的接口。
以下是我定义发射器的方式:
@Output('solutionChange') selectedSolution: EventEmitter<Solution> = new EventEmitter<Solution>();
以下是我如何称呼发射器:
public onSolutionChange(args) {
let solution: Solution = args.value as Solution;
this.selectedSolution.emit(solution);
}
问题是当我调用 emit() 函数时,它会给出错误 TypeError: emit is not a function。
我已经尝试将发射器的定义更改为@Output('solutionChange') selectedSolution: EventEmitter<any> = new EventEmitter<any>();,因为 args.value 是来自后端的任何类型,但仍然是相同的错误。我还尝试用 next() 函数替换 emit() 函数。
【问题讨论】:
-
显示你是如何导入
EventEmitter的。 -
你要导入 Angular/core/ eventemitter...
标签: angular typescript angular9 eventemitter primeng-dropdowns