mirror of
https://github.com/angular/angular.git
synced 2026-09-14 13:54:52 +08:00
3c6a439a6f
This commit extracts the Router's navigation "transitions" to a separate file. The goal here is twofold: - Separate the Router's logic into more manageable chunks. Rather than having to always edit a 1000+ line file, this separates different pieces into smaller, more focused files - More importantly, this sets the groundwork for separating the Router state from the individual navigation transition. That is, it would be good for the rxjs pipeline to _not_ modify the Router state but only keep track of its own intermediate stages and emit outwards during important events. The Router can subscribe to those events and make updates to its state. This would theoretically allow us to swap those implementations independently. That is, the Router's state management can be changed without changing the transition handling and vice-versa. PR Close #48092
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 isn’t 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.