f9497bf28b
Prior to this change, if a navigation was ongoing and a new one came in, the router could get into a state where `router.currentNavigation` was `null` even though a navigation was executing. This change moves where we set the `currentNavigation` value so it's inside a `switchMap`. This solves the problem because the `finally` on the `switchMap` had been setting `currentNavigation` to `null` but the new `currentNavigation` value would have already been set. Essentially this was a timing problem and is resolved with this change. Fixes #29389 #29590 PR Close #29636 |
||
---|---|---|
.. | ||
scripts | ||
src | ||
test | ||
testing | ||
upgrade | ||
.gitignore | ||
BUILD.bazel | ||
PACKAGE.md | ||
README.md | ||
index.ts | ||
karma-test-shim.js | ||
karma.conf.js | ||
package.json | ||
public_api.ts | ||
tsconfig-build.json |
README.md
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.