Can lazy-loaded modules share the same instance of a service provided by their parent?
<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>