在 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
是您要发出的数组。
我正在尝试使用 @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
是您要发出的数组。