title: Passing data between components without @Input/@Output
body: <p>In a nutshell, I need a "shopping cart" like relationship from one component to the rest of the site.  I say "shopping cart like" because it's basically a list of needs generated by the user as they browse.  It won't have any prices or tax logic, but each type of need will have its' own <code>sub-parameters</code> unique from the others which I'm in the midst of creating <code>interfaces</code> for.  I figured the <code>needs component</code> would use types of <code>any</code> to accept the incoming chunks of data.</p>
  
  <p>As of right now creating massive highways of <code>@Inputs</code> and <code>@Outputs</code> through the entire tree just to go over one branch and back down a tier seems excessively tedious.  I figured it would be good if I could create a function that pushes directly to the <code>needs component</code> or maybe create a class to push everything to and make a subscription to it in the <code>needs component</code>.</p>
  
  <p>I set a filter on my search to February 1st - now and found this
  <a href="https://stackoverflow.com/questions/42567674/share-data-between-components-using-a-service-in-angular2">Share data between components using a service in Angular2</a></p>
  
  <p>It sheds a little more light on the fact that it's possible, but as I don't know how I should go about this I don't know how to derive an answer out of it.</p>
  
  <p>I haven't come up with any code for attempting it because I don't know what to attempt so all I have is my components. Seeing that I'm asking about a way to create a relationship that works no matter where things fall on the component tree I don't see any point in posting components that basically only say <code>&lt;h1&gt;hi&lt;/h1&gt;</code> so far to show they're working.  If you'd still like to see my code I'll post it, but it isn't much lol.  I'm still using Angular2 and can't update Node and NPM to use 4 at the moment.  Any info on how to achieve this would be greatly appreciated.</p>