angular/packages/router
SkyZeroZx 580212c995 fix(router): restore internal URL on popstate when browserUrl is used
Fixed an issue where back/forward (`popstate`) navigation attempted to match the displayed `browserUrl` instead of the internal route, which could result in `NG04002: Cannot match any routes`.

Fixes #67549

(cherry picked from commit 6eff439546)
2026-04-20 16:46:30 -07: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 fix(router): restore internal URL on popstate when browserUrl is used 2026-04-20 16:46:30 -07:00
test fix(router): restore internal URL on popstate when browserUrl is used 2026-04-20 16:46:30 -07:00
testing refactor: prepare for required changeDetection prop on G3. 2026-03-20 15:52:42 -07: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.