Используйте директиву вывода с массивом в Angular - PullRequest
1 голос
/ 20 апреля 2020

Я пытаюсь использовать директиву @Output и выдавать number[] значения.

так:

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

И в методе я получил раскрывающийся индекс (он работает) и пытаюсь выбросить:

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

И это решение не работает. Тем не менее у меня есть ошибка:

не может прочитать свойство 'emit' неопределенного

Возникли проблемы с использованием директивы @Output с массивом чисел, строк и так далее c .

1 Ответ

3 голосов
/ 20 апреля 2020

С new EventEmitter<number[]>() вы объявляете Output, который излучает массив чисел, но вы рассматриваете его как массив излучателей. Если вы хотите выдать одно число, которое вы должны иметь в своем компоненте:

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

, а затем в своем методе:

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

Предполагая, что numberValue - это массив с данными, которые вы хочу излучать. В противном случае, если вам нужно выдать массив, оставьте объявление эмиттера, как оно есть у вас и в вашем методе:

this.numberArrayOutput.emit(numberArray);

На этот раз, предполагая, что numberArray - это массив, который вы хотите испустить.

...