angular/modules/@angular/router
Tobias Bosch 8e6091de6c refactor(core): use ngOnDestroy in providers
Note about the addition of `beforeEach(fakeAsync(inject(…))))` in some tests:
`ApplicationRef` is now using `ngOnDestroy` and there is eager,
including all of its dependencies which contain `NgZone`.
The additional `fakeAsync` in `beforeEach` ensures that `NgZone`
uses the fake async zone as parent, and not the root zone.

BREAKING CHANGE (via deprecations):
- `ApplicationRef.dispose` is deprecated. Destroy the module that was
   created during bootstrap instead by calling `NgModuleRef.destroy`.
- `AplicationRef.registerDisposeListener` is deprecated.
   Use the `ngOnDestroy` lifecycle hook for providers or
   `NgModuleRef.onDestroy` instead.
- `disposePlatform` is deprecated. Use `destroyPlatform` instead.
- `PlatformRef.dipose()` is deprecated. Use `PlatformRef.destroy()`
   instead.
- `PlatformRef.registerDisposeListener` is deprecated. Use
  `PlatformRef.onDestroy` instead.
- `PlaformRef.diposed` is deprecated. Use `PlatformRef.destroyed`
  instead.
2016-08-02 11:23:26 -07:00
..
scripts chore(router): changes the router setup to align with other modules 2016-06-21 12:17:30 -07:00
src refactor(core): use ngOnDestroy in providers 2016-08-02 11:23:26 -07:00
test fix(router): make an outlet to unregister itself when it is removed from the dom 2016-08-01 16:56:38 -07:00
testing refactor(router): take advantage of the new way of configuring modules 2016-07-27 10:24:29 -07:00
.gitignore chore(router): update config before publishing to npm 2016-06-21 12:17:30 -07:00
CHANGELOG.md chore(router): bump up version number 2016-06-30 14:58:59 -07:00
index.ts refactor(router): take advantage of the new way of configuring modules 2016-07-27 10:24:29 -07:00
karma-test-shim.js refactor(testing): introduce new testing api to support ng modules 2016-07-29 04:47:18 -07:00
karma.conf.js test: execute router tests on ./test.sh browser (#10053) 2016-07-21 16:12:40 -07:00
LICENSE chore: set up test and build infrastructure 2016-06-21 12:17:30 -07:00
package.json chore(router): bump up version number 2016-06-30 14:58:59 -07:00
README.md refactor(core): change module semantics 2016-07-26 07:04:10 -07:00
rollup.config.js fix(router): fix rollup config to properly set up rxjs 2016-07-15 16:27:54 -07:00
testing.ts refactor(router): rename RouterTestModule into RouterTestingModule 2016-07-20 11:39:31 -07:00
tsconfig-es5.json fix(router): routerLinkActive should only set classes after the router has successfully navigated 2016-07-20 17:51:21 -07:00
tsconfig-es2015.json fix(router): routerLinkActive should only set classes after the router has successfully navigated 2016-07-20 17:51:21 -07:00
tsconfig.json cleanup(router): removes unnecessary files from tsconfig 2016-07-20 11:44:07 -07:00

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 isnt 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.

Overview

Read the overview of the Router here.

Guide

Read the dev guide here.

Local development

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

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

# start karma
$ ./scripts/karma.sh