As I am getting deeper into Angular, im trying to implement the following situation, these are my components:

What I am trying to figure out is the ideal way of passing data from a child to the parent and some other component. I am able to do it with @Input() and @Output() decorators but I am wondering if its the right way and what if there were more components in between? I tried using services too but couldn't update the data properly. What would be a better approach to this?