angular-docs-cn/modules/@angular/router
Dzmitry Shylovich 69fa3bbc03 feat(router): add an extra argument to CanDeactivate interface (#13560)
Adds a `nextState` argument to access the future url from `CanDeactivate`.

BEFORE:

    canDeactivate(component: T, route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean>|Promise<boolean>|boolean;

AFTER:

    canDeactivate(component: T, currentRoute: ActivatedRouteSnapshot, currentState: RouterStateSnapshot, nextState?: RouterStateSnapshot): Observable<boolean>|Promise<boolean>|boolean;

Closes #9853
2016-12-27 14:08:06 -08:00
..
scripts chore(router): changes the router setup to align with other modules 2016-06-21 12:17:30 -07:00
src feat(router): add an extra argument to CanDeactivate interface (#13560) 2016-12-27 14:08:06 -08:00
test feat(router): add an extra argument to CanDeactivate interface (#13560) 2016-12-27 14:08:06 -08:00
testing refactor(): use const and let instead of var 2016-11-12 16:40:17 -08:00
.gitignore chore(router): update config before publishing to npm 2016-06-21 12:17:30 -07:00
CHANGELOG.md docs(router): add changelog for 3.0.0-rc.2 2016-08-31 16:55:18 -07:00
LICENSE chore: set up test and build infrastructure 2016-06-21 12:17:30 -07:00
README.md refactor(core): change module semantics 2016-07-26 07:04:10 -07:00
index.ts fix: display framework version on bootstrapped component (#13252) 2016-12-06 16:21:07 -08:00
karma-test-shim.js refactor: add license header to JS files & format files (#12081) 2016-10-04 20:39:20 -07:00
karma.conf.js refactor: add license header to JS files & format files (#12081) 2016-10-04 20:39:20 -07:00
package.json feat: update to rxjs@5.0.1 and unpin the rxjs peerDeps via ^5.0.1 (#13572) 2016-12-19 16:24:53 -08:00
rollup-testing.config.js refactor: add license header to JS files & format files (#12081) 2016-10-04 20:39:20 -07:00
rollup-upgrade.config.js feat(router): add a provider making angular1/angular2 integration easier (#12769) 2016-11-09 13:33:33 -08:00
rollup.config.js fix(router): correctly export concatMap operator in es5 (#12430) 2016-11-02 21:55:02 -07:00
tsconfig-build.json feature(tsc-wrapped): add option for closure compiler JSDoc annotations 2016-11-18 09:37:40 -08:00
tsconfig-testing.json fix(packages): use ES modules for primary build (#11120) 2016-08-30 18:07:40 -07:00
tsconfig-upgrade.json fix(router): check if windows.console exists before using it (#12348) 2016-11-11 10:46:53 -08:00
upgrade.ts fix(router): throw a better error message when angular 1 is not bootstraped 2016-12-05 10:57:24 -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