anchor.diff:    Certain services (e.g., the `Router`) only work when registered in the application root injector.
   
     By contrast, Angular registers `AppComponent` providers with the `AppComponent`'s own injector.
  -  `AppComponent`services are available to that component and its component tree. 
  +  `AppComponent`services are available only to that component and its component tree. 
     They are _component-scoped_.
   
     The `AppComponent`'s injector is a _child_ of the root injector, one down in the injector hierarchy.
  
positive.code: 
    `AppComponent` services don't exist at the root level where routing operates. 
    Lazy loaded modules can't reach them.
    In this sample applications, if we had registered `UserService` in the `AppComponent`, 
    the `HeroComponent` couldn't inject it.
    The application  would fail the moment a user navigated to "Heroes".
  
    We _can_ register a service in `AppComponent` providers if the app doesn't use routing.
    We _should_ register a service in `AppComponent` providers if the service must be hidden
    from components outside the `AppComponent` tree. 
    
    These are special cases.
    When in doubt, register with the `AppModule`.
  
  .l-hr
    
  a#q-why-bad
  .l-main-section
  :marked
  
negative.code: a#q-root-component-or-module
  .l-main-section
  :marked
    ### Should I add app-wide providers to the root _AppModule_ or the root _AppComponent_?
  
  .alert.is-helpful
    :marked
      Register application-wide providers in the root `AppModule`, not in the `AppComponent`.
  :marked
    Lazy-loaded modules and their components can inject `AppModule` services;
    they cannot inject `AppComponent` services.
  
    Register a service in `AppComponent` providers _only_ if the service must be hidden
    from components outside the `AppComponent` tree. This is a rare exceptional use case.
  
    More generally, [prefer registering providers in modules](#q-component-or-module) to registering in components.
  
    #### **_Discussion_:**
    Angular registers all startup module providers with the application root injector.
    The services created from root injector providers are available to the entire application. 
    They are _application-scoped_.
  