title: Can lazy-loaded modules share the same instance of a service provided by their parent?
body: <p>I've just run into a problem with a lazy-loaded module where parent and child module both require the same service but create an instance each. The declaration is identical for both, that is</p>
  
  <pre><code>import { MyService } from './my.service';
  ...
  @NgModule({
     ...
     providers: [
        MyService,
        ...
     ]
  });
  </code></pre>
  
  <p>and here's the routing setup</p>
  
  <pre><code>export parentRoutes: Routes = [
     { path: ':id', component: ParentComponent, children: [
        { path: '', component: ParentDetailsComponent },
        { path: 'child', loadChildren: 'app/child.module#ChildModule' },
        ...
     ]}
  ];
  </code></pre>
  
  <p>which, of course, is then imported in the parent module as</p>
  
  <pre><code>RouterModule.forChild(parentRoutes)
  </code></pre>
  
  <p>How do I go about this if I wanted to share the same service instance?</p>