Latest commit 0589f93 Jan 20, 2017 @adamski52 adamski52 committed with alxhub Fixed documentation reference to canActivate in canDeactivate (#14018)
Simple update to code sample which references canActivate: ['canDeactivateTeam'].
Failed to load latest commit information.
scripts chore(router): changes the router setup to align with other modules Jun 21, 2016
src Fixed documentation reference to canActivate in canDeactivate (#14018) Jan 20, 2017
test fix(router): routerLinkActive should not throw when not initialized (#… Jan 18, 2017
testing chore(tslint): update tslint to 4.x (#13603) Dec 27, 2016
.gitignore chore(router): update config before publishing to npm Jun 21, 2016 docs(router): add changelog for 3.0.0-rc.2 Aug 31, 2016
LICENSE chore: set up test and build infrastructure Jun 21, 2016 refactor(core): change module semantics Jul 26, 2016
index.ts fix: display framework version on bootstrapped component (#13252) Dec 7, 2016
karma-test-shim.js fix: correctly show error when karma fails to load Jan 7, 2017
karma.conf.js refactor: add license header to JS files & format files (#12081) Oct 5, 2016
package.json feat: update to rxjs@5.0.1 and unpin the rxjs peerDeps via ^5.0.1 (#1… Dec 20, 2016
rollup-testing.config.js refactor: add license header to JS files & format files (#12081) Oct 5, 2016
rollup-upgrade.config.js feat(router): add a provider making angular1/angular2 integration eas… Nov 9, 2016
rollup.config.js fix(router): correctly export concatMap operator in es5 (#12430) Nov 3, 2016
tsconfig-build.json feature(tsc-wrapped): add option for closure compiler JSDoc annotations Nov 18, 2016
tsconfig-testing.json fix(packages): use ES modules for primary build (#11120) Aug 31, 2016
tsconfig-upgrade.json fix(router): check if windows.console exists before using it (#12348) Nov 11, 2016
upgrade.ts feat(core): Add type information to injector.get() (#13785) Jan 17, 2017

Angular Router

Managing state transitions is one of the hardest parts of building applications. This is especially true on the web, where you also need to ensure that the state is reflected in the URL. In addition, we often want to split applications into multiple bundles and load them on demand. Doing this transparently isn’t trivial.

The Angular router is designed to solve these problems. Using the router, you can declaratively specify application state, manage state transitions while taking care of the URL, and load components on demand.


Read the overview of the Router here.


Read the dev guide here.

Local development

# keep @angular/router fresh
$ ./scripts/

# keep @angular/core fresh
$ ../../../node_modules/.bin/tsc -p modules --emitDecoratorMetadata -w

# start karma
$ ./scripts/