angular-cn/packages/router
Tobias Bosch 2c5a671341 fix: don't instantiate providers with ngOnDestroy eagerly. (#15070)
BREAKING CHANGE:

Perviously, any provider that had an ngOnDestroy lifecycle hook would be created eagerly.

Now, only classes that are annotated with @Component, @Directive, @Pipe, @NgModule are eager. Providers only become eager if they are either directly or transitively injected into one of the above.

This also makes all `useValue` providers eager, which
should have no observable impact other than code size.

EXPECTED IMPACT:
Making providers eager was an incorrect behavior and never documented.
Also, providers that are used by a directive / pipe / ngModule stay eager.
So the impact should be rather small.

Fixes #14552
2017-03-14 14:32:26 -07:00
..
scripts refactor: move angular source to /packages rather than modules/@angular 2017-03-08 16:29:27 -08:00
src fix: don't instantiate providers with ngOnDestroy eagerly. (#15070) 2017-03-14 14:32:26 -07:00
test refactor: update paths from modules/@angular to packages 2017-03-08 16:29:28 -08:00
testing refactor: update paths from modules/@angular to packages 2017-03-08 16:29:28 -08:00
upgrade refactor: update paths from modules/@angular to packages 2017-03-08 16:29:28 -08:00
.gitignore refactor: move angular source to /packages rather than modules/@angular 2017-03-08 16:29:27 -08:00
CHANGELOG.md refactor: move angular source to /packages rather than modules/@angular 2017-03-08 16:29:27 -08:00
LICENSE refactor: move angular source to /packages rather than modules/@angular 2017-03-08 16:29:27 -08:00
README.md refactor: move angular source to /packages rather than modules/@angular 2017-03-08 16:29:27 -08:00
index.ts refactor: move angular source to /packages rather than modules/@angular 2017-03-08 16:29:27 -08:00
karma-test-shim.js refactor: move angular source to /packages rather than modules/@angular 2017-03-08 16:29:27 -08:00
karma.conf.js build: build modules and examples for karma 2017-03-08 17:35:20 -08:00
package.json refactor: More generic build.sh file 2017-03-08 16:29:28 -08:00
public_api.ts refactor: move angular source to /packages rather than modules/@angular 2017-03-08 16:29:27 -08:00
rollup.config.js build: fix rollup config file paths 2017-03-08 16:29:28 -08:00
tsconfig-build.json build: fix file paths after moving modules/@angular/* to packages/* 2017-03-08 16:29:28 -08:00

README.md

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