angular-cn/packages/router
Victor Berchet 13686bb518 fix: element injector vs module injector (#15044)
fixes #12869
fixes #12889
fixes #13885
fixes #13870

Before this change there was a single injector tree.
Now we have 2 injector trees, one for the modules and one for the components.
This fixes lazy loading modules.

See the design docs for details:
https://docs.google.com/document/d/1OEUIwc-s69l1o97K0wBd_-Lth5BBxir1KuCRWklTlI4

BREAKING CHANGES

`ComponentFactory.create()` takes an extra optional `NgModuleRef` parameter.
No change should be required in user code as the correct module will be used
when none is provided

DEPRECATIONS

The following methods were used internally and are no more required:
- `RouterOutlet.locationFactoryResolver`
- `RouterOutlet.locationInjector`
2017-03-14 16:26:17 -07:00
..
scripts refactor: move angular source to /packages rather than modules/@angular 2017-03-08 16:29:27 -08:00
src fix: element injector vs module injector (#15044) 2017-03-14 16:26:17 -07:00
test fix: element injector vs module injector (#15044) 2017-03-14 16:26:17 -07: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