p.location-badge. exported from angular2/router defined in angular2/src/router/router.ts (line 22) :markdown # Router The router is responsible for mapping URLs to components. You can see the state of the router by inspecting the read-only field `router.navigating`. This may be useful for showing a spinner, for instance. ## Concepts Routers and component instances have a 1:1 correspondence. The router holds reference to a number of "outlets." An outlet is a placeholder that the router dynamically fills in depending on the current URL. When the router navigates from a URL, it must first recognizes it and serialize it into an `Instruction`. The router uses the `RouteRegistry` to get an `Instruction`. .l-main-section h2 Members .l-sub-section h3 constructor pre.prettyprint code. constructor(registry: RouteRegistry, _pipeline: Pipeline, parent: Router, hostComponent: any) :markdown .l-sub-section h3 navigating :markdown .l-sub-section h3 lastNavigationAttempt :markdown .l-sub-section h3 registry :markdown .l-sub-section h3 parent :markdown .l-sub-section h3 hostComponent :markdown .l-sub-section h3 childRouter pre.prettyprint code. childRouter(hostComponent: any) :markdown Constructs a child router. You probably don't need to use this unless you're writing a reusable component. .l-sub-section h3 registerOutlet pre.prettyprint code. registerOutlet(outlet: RouterOutlet) :markdown Register an object to notify of route changes. You probably don't need to use this unless you're writing a reusable component. .l-sub-section h3 config pre.prettyprint code. config(definitions: List<RouteDefinition>) :markdown Dynamically update the routing configuration and trigger a navigation. # Usage ``` router.config([ { 'path': '/', 'component': IndexComp }, { 'path': '/user/:id', 'component': UserComp }, ]); ``` .l-sub-section h3 navigate pre.prettyprint code. navigate(url: string) :markdown Navigate to a URL. Returns a promise that resolves when navigation is complete. If the given URL begins with a `/`, router will navigate absolutely. If the given URL does not begin with `/`, the router will navigate relative to this component. .l-sub-section h3 commit pre.prettyprint code. commit(instruction: Instruction) :markdown Updates this router and all descendant routers according to the given instruction .l-sub-section h3 subscribe pre.prettyprint code. subscribe(onNext: (value: any) => void) :markdown Subscribe to URL updates from the router .l-sub-section h3 deactivate pre.prettyprint code. deactivate(instruction: Instruction) :markdown Removes the contents of this router's outlet and all descendant outlets .l-sub-section h3 recognize pre.prettyprint code. recognize(url: string) :markdown Given a URL, returns an instruction representing the component graph .l-sub-section h3 renavigate pre.prettyprint code. renavigate() :markdown Navigates to either the last URL successfully navigated to, or the last URL requested if the router has yet to successfully navigate. .l-sub-section h3 generate pre.prettyprint code. generate(linkParams: List<any>) :markdown Generate a URL from a component name and optional map of parameters. The URL is relative to the app's base href.