mirror of
https://github.com/angular/angular
synced 2026-05-24 09:28:37 +00:00
This commit removes special (undocumented) logic in the Router code that is
meant to prevent duplicate navigations that result from location syncs in
AngularJS/Angular hybrid applications.
The duplicate navigations can occur when both the Router and the AngularJS sync
code detect a location change via a popstate/hashchange event. When this
happens, the Angular Router schedules a navigation to sync itself with
the browser, but the hybrid listener may also schedule an additional
navigation. There are a few reasons this logic should not be included in
the Router:
* This special logic is not tree shakeable so it introduces a bundle
size cost for all applications, most of which don't need it.
* There have been many updates to the routing pipeline to tolerate
duplicate navigations. That is, duplicate navigations can happen and
routing should still complete successfully.
*
|
||
|---|---|---|
| .. | ||
| operators | ||
| utils | ||
| apply_redirects.spec.ts | ||
| bootstrap.spec.ts | ||
| BUILD.bazel | ||
| computed_state_restoration.spec.ts | ||
| config.spec.ts | ||
| create_router_state.spec.ts | ||
| create_url_tree.spec.ts | ||
| helpers.ts | ||
| integration.spec.ts | ||
| page_title_strategy_spec.ts | ||
| recognize.spec.ts | ||
| regression_integration.spec.ts | ||
| router.spec.ts | ||
| router_link_spec.ts | ||
| router_preloader.spec.ts | ||
| router_scroller.spec.ts | ||
| router_state.spec.ts | ||
| shared.spec.ts | ||
| url_serializer.spec.ts | ||
| url_tree.spec.ts | ||