在 Angular 中对数组使用输出指令

Use Output directive with array in Angular

我正在尝试使用 @Output 指令并发出 number[] 值。

所以:

@Output() numberArrayOutput = new EventEmitter<number[]>();

并且在方法中,我得到了下拉索引(它正在工作)并尝试发出:

this.numberArrayOutput[this.dropdownIndex].emit(numberValue));

而且该解决方案不起作用。我仍然有错误:

cannot read property 'emit' of undefined

将@Output 指令与数字、字符串等数组一起使用有任何问题吗?

使用 new EventEmitter<number[]>() 时,您声明的 Output 会发出一个数字数组,但您将其视为一个发射器数组。如果你想发出一个数字,你应该在你的组件中:

@Output() numberArrayOutput = new EventEmitter<number>();

然后在你的方法中:

this.numberArrayOutput.emit(numberValue[this.dropdownIndex]));

假设 numberValue 是包含您要发出的数据的数组。否则,如果您需要发射一个数组,请在您的方法中保留发射器声明:

this.numberArrayOutput.emit(numberArray);

这次假设 numberArray 是您要发出的数组。