Angular | В каком месте лучше разместить logi c, дочерний или родительский компонент? - PullRequest
0 голосов
/ 07 мая 2020

Учтите, что существует некий повторно используемый компонент A с некоторыми c логами (например, вызовом API), который должен выполняться при нажатии кнопки. A используется в двух компонентах B & C (не связанных друг с другом).

Теперь, что лучше из следующего, при обработке logi c?

  1. Поместите условия внутри функции щелчка A, в зависимости от параметров, переданных в качестве входных данных от B или C, вызывающего соответствующий API.
  2. Вызвать событие и записать logi c внутри компонентов B и C отдельно.

1 Ответ

3 голосов
/ 07 мая 2020

A является повторно используемым компонентом, поэтому рекомендуется сделать его глупым: он должен взаимодействовать только с входами и выходами:
- входы для получения данных от родительского компонента
- выходы для генерации события не заботясь о том, что будет сделано с событием

Таким образом вы убедитесь, что можете повторно использовать свой компонент в разных ситуациях, не будучи сильно привязанным к потенциальному родителю: если у вас когда-нибудь будет компонент D, вы не будете необходимо изменить компонент A.

Родитель умный, с заданным контекстом. Но это не значит, что он должен содержать все логики c. Чтобы разделить проблемы, связанные с каждым файлом, лучше поместить logi c внутри службы (и будет легче протестировать без привязки к компоненту)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...