【问题标题】:Use Output directive with array in Angular在 Angular 中使用带有数组的输出指令
【发布时间】:2020-04-20 17:43:36
【问题描述】:

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

所以:

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

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

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

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

无法读取未定义的属性“发射”

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

【问题讨论】:

    标签: angular eventemitter


    【解决方案1】:

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

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

    然后在你的方法中:

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

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

    this.numberArrayOutput.emit(numberArray);
    

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

    【讨论】:

    • 我想在特定索引中发出数字数组。 F.e.我想只发出 [,x,] 这个位置,另一次 [x, ,] 只发出这个位置。所以 - 我想发出数字[]。不是数字。
    猜你喜欢
    • 2023-04-02
    • 1970-01-01
    • 2019-12-11
    • 2016-01-30
    • 2018-01-13
    • 1970-01-01
    • 2020-02-11
    • 2018-08-14
    • 2015-10-16
    相关资源
    最近更新 更多