title: Angular 2+: providing a single instance of a global service to sub-modules
body: <p>How can I provide a global service (e.g. providing data) and access it from the <strong>submodules</strong> in an  angular 2+ app? Here the emphasis lies on sub-modules. I know it's pretty straight forward with a component hierarchy tree, but I couldn't find any good explanation how that works with multiple modules. </p>
  
  <p>For example, if we have the following app structure/hierarchy:</p>
  
  <pre><code>AppModule
    myservice
    AppComponent
    FeatureModule1
       ComponentA
       ComponentB
    FeatureModule2
       ComponentC
       ComponentD
       FeatureModule3
         ComponentE
  </code></pre>
  
  <p>Where do I have to provide the service? Just in <code>AppModule</code> or also in the submodules (<code>FeatureModule1</code>, <code>FeatureModule2</code> and <code>FeatureModule3</code>)? The same question about importing. 
  To import and provide only on the root level doesn't work (<code>FeatureModule1</code> for example has no access to the provided <code>myservice</code> instance as far I've experienced.) 
  Do I have to do the re-importing (eventually re-providing) on every hierarchy level?</p>