Angular 8 @output EventEmitter не позволяет объекту быть отправленным - PullRequest
0 голосов
/ 18 февраля 2020

Как бы я испустил объект вместо примитивных типов данных?

У меня есть объект const amount = { currenty: 'USD', total: '10.25' };, который я хотел передать родительскому компоненту.

export class MyChildComponent implements OnInit {
     @Output() childEventEmitter: EventEmitter = new EventEmitter();
....
}

в функции эмиттера

this.childEventEmitter.emit(amount); // не работает

ошибка: аргумент типа {currenty: 'USD', всего: '10 .25 '} не может быть назначен параграфам типа string

Ответы [ 4 ]

3 голосов
/ 18 февраля 2020
@Output() childEventEmitter: EventEmitter<{currenty: string, total: string}> = new EventEmitter<{currenty: string, total: string}>();
0 голосов
/ 18 февраля 2020

Я отвечаю на свой вопрос после того, как нашел это решение "Тип 'EventEmitter' не является универсальным c" ОШИБКА в angular

Проблема заключалась в том, что я импортировал EventEmitter от транспортира вместо @ angular / core; Спасибо за все комментарии.

0 голосов
/ 18 февраля 2020

Простой способ передачи любого параметра через событие.

@Output() childEventEmitter: EventEmitter<any> = new EventEmitter<any>();
0 голосов
/ 18 февраля 2020

Это потому, что Typescript жалуется на несовместимые типы. Либо используйте

@Output() childEventEmitter = new EventEmitter<{currenty: string, total: string}>();

или

@Output() childEventEmitter = new EventEmitter<any>();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...