Andrew Scott
Andrew Scott
This commit creates and exposes the APIs required to use the Angular Router without importing `RouterModule`. By updating the golden test to use the new API, this change also demonstrates...
The current Router APIs require guards/resolvers to be present in the DI tree. This is because we want to treat all guards/resolvers equally and some may require dependencies. This requirement...
The PathLocationStrategy is already provided by default in the factory of LocationStrategy
The `browserUrlTree` is _only_ used to support the `onSameUrlNavigation: 'ignore'` logic. We can achieve this functionality without having this state tracked inside the Router. Instead, we can re-examine what `ignore`...
Further document the rawUrlTree and how it's used internally in the Router.
Returning `UrlTree` from a guard was a convenient new feature added to the `Router`. However, it does not have feature-parity with the old `router.navigate(...); return false;` pattern. The most common...
The `initNavigated` flag is not necessary. The way `enabledBlocking` works is by blocking any navigations from finishing until the application has bootstrapped. The bootstrap is unblocked as soon as we...
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...
The router providers a configurable `onSameUrlNavigation` value that allows developers to configure whether navigations to the same URL as the current one should be processed or ignored. However, this only...
first two commits are part of https://github.com/angular/angular-cli/pull/24170. The two commits specific to this are the default updates, which may be considered a breaking change.