mirror of
https://github.com/angular/angular.git
synced 2026-09-14 13:54:52 +08:00
cbbb1d8ba1
Outlet maps are keyed by names read verbatim from the url, so a name like `__proto__` (e.g. `/one(__proto__:two)`) is assigned through the inherited `__proto__` setter instead of creating an outlet. This drops the outlet and mutates the map's prototype, and throws under Node's `--disable-proto=throw`. Build these outlet maps with `Object.create(null)` so `__proto__` is treated as an ordinary key. Covers `parseParens` and `squashSegmentGroup` in url_tree.ts, `createSegmentGroup` in apply_redirects.ts, and `replaceSegment` and `updateSegmentGroupChildren` in create_url_tree.ts.
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.