Why Share Data Between Components?

Inputs and outputs only connect parents and children. When components far apart need the same data, such as a cart shown in the header and filled from a product page, passing it through every component in between gets messy. A shared service holds it in one place instead.

Updated

Cheat sheet: Why Share Data Between Components?
Category
Angular
Level
Journeyman
Tags
angular, Prop Drilling, Single Source of Truth