mirror of
https://github.com/angular/angular.git
synced 2026-09-14 13:54:52 +08:00
d9f550c97f
The `Injector` is really the piece of information that the `Router` is interested in keeping track of. Storing the `NgModuleRef` is somewhat confusing based on how it's used later on. `RouterOutlet` uses it for the `componentFactoryResolver`, but this is not needed anymore (and deprecated). In fact, we can get back to the `NgModuleRef` anyways using the injector. For now, that's what this change does. A different refactor will remove the use of the `componentFactoryResolver` altogether. Additionally, in the standalone world, we plan to implement a feature to allow defining `providers` directly on the `Route`. This means there won't be an associated `NgModuleRef` so this refactor prepares for that feature. PR Close #45593
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.