In the new router (>= RC.3
) https://angular.io/docs/ts/latest/api/router/index/Router-class.html#!#resetConfig-anchor resetConfig
can be used to load new routes
router.resetConfig([ { path: 'team/:id', component: TeamCmp, children: [ { path: 'simple', component: SimpleCmp }, { path: 'user/:name', component: UserCmp } ] } ]);
You would have a custom routerLink
directive or just some link or button that calls an event handler on click where new routes are loaded and then router.navigate(...)
is called to navigate to the appropriate route.
https://github.com/angular/angular/issues/11437#issuecomment-245995186 provides an RC.6 Plunker