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