angular/packages/router
Andrew Scott 84adb2fb3b refactor(router): Permit deferring commit of traversal navigations
This updates the state manager to allow intercepting and deferring commits of traversal navigations.
The issues that were encountered in the past appear to be resolved in Chrome.
The behavior of redirect is still undefined in this case, so there is an added TODO.

(cherry picked from commit 778b748694)
2026-03-03 22:09:15 +00:00
..
docs feat(router): add controls for route cleanup 2026-01-05 14:43:56 -05:00
scripts refactor: move angular source to /packages rather than modules/@angular 2017-03-08 16:29:27 -08:00
src refactor(router): Permit deferring commit of traversal navigations 2026-03-03 22:09:15 +00:00
test refactor(router): Permit deferring commit of traversal navigations 2026-03-03 22:09:15 +00:00
testing build: format md files 2025-11-06 10:03:05 -08:00
upgrade build: format md files 2025-11-06 10:03:05 -08:00
.gitignore refactor: move angular source to /packages rather than modules/@angular 2017-03-08 16:29:27 -08:00
BUILD.bazel build: Add dom-navigation types to router (#64905) 2025-11-06 17:42:04 +00:00
index.ts refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00
package.json refactor(router): Build out integration with browser Navigation API (#64905) 2025-11-06 17:42:04 +00:00
PACKAGE.md build: format md files 2025-11-06 10:03:05 -08:00
public_api.ts refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00
README.md build: format md files 2025-11-06 10:03:05 -08:00
tsconfig.json build: Add dom-navigation types to router (#64905) 2025-11-06 17:42:04 +00: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.

Guide

Read the dev guide here.