I'm looking at an Angular2 app with three top-level components. The bootstrapped app component has a header, a sidebar, and a router-outlet forming the main body of the page. I want the header and sidebar to be permanent features of the app, and use the router to control what's displayed in the body.
<div>
<app-header></app-header>
</div>
<div>
<app-sidebar></app-sidebar>
</div>
<div>
<router-outlet></router-outlet>
</div>
So I'm looking for the sidebar to be able to implement...
<p><a [routerLink]="['/thing1']">Sidebar -> thing1</a></p>
<p><a [routerLink]="['/thing2']">Sidebar -> thing2</a></p>
... and have the router show this component or that component in the designated part of the page. It's very unclear to me what levels of the app need any of Router, RouteConfig, ROUTER_DIRECTIVES. I've added the thing1/thing2 routes with angular-cli's scaffolding, and the app at least compiles if I don't include the routerLink directives -- the @Routes seem valid and everything loads.
Is there a better way to do what I'm trying to do?