Различные способы сделать EventEmitter - Angular - PullRequest
0 голосов
/ 14 сентября 2018

Мне было интересно, в чем отличие следующего способа создания EventEmitter, и какой из них лучше.

@Output
balanceDueLoader = new EventEmitter<boolean>();

@Output
balanceDueLoader = new EventEmitter<boolean>(false);

@Output()
balanceDueLoader: EventEmitter<boolean> = new EventEmitter<boolean>();

Ответы [ 2 ]

0 голосов
/ 14 сентября 2018

@ Output balanceDueLoader = new EventEmitter ();

@ Output balanceDueLoader = new EventEmitter (false);

@ Output () balanceDueLoader: EventEmitter = new EventEmitter ();

На самом деле нет никакой разницы

Первая и вторая точно такие же, потому что по умолчанию значение равно false.Будет разница, если вы передадите истину источнику событий, который сделает событие асинхронным.По умолчанию это синхронно.

Единственное отличие в третьем состоит в том, что вы назначаете ему тип, который позволит вам идеальное завершение кода.

https://netbasal.com/event-emitters-in-angular-13e84ee8d28c Подробнее об источнике событий смотрите здесь

0 голосов
/ 14 сентября 2018

Редактировать: Копирование моего комментария здесь: Разница только в том, что вы пишете больше кода. Разницы между этим нет.

Оригинальный ответ: когда вы объявляете свойство с начальным значением, обычно вам не нужно указывать тип. Тип угадывается из начального значения. Таким образом, вам не нужен третий. Конструктор EventEmitter имеет параметр со значением по умолчанию false, поэтому вам не нужно передавать параметр, если вы перешли на использование параметра по умолчанию. Так что иди с первым вариантом. У него меньше кода для записи

...