mirror of
https://github.com/angular/angular
synced 2026-05-24 09:28:37 +00:00
This commit adds the ability to provide a function that will get called immediately after the view transition is created. This will allow developers to do things like add/remove classes from the DOM when the transition animation is finished, skip the transition based on application conditions, etc. Having access to the transition unlocks just about every example outlined in https://developer.chrome.com/docs/web-platform/view-transitions. Note that the timing of the `updateCallback` execution is in the spec as being called asyncronously (https://drafts.csswg.org/css-view-transitions-1/#callbackdef-updatecallback). This means the `onViewTransitionCreated` callback is guaranteed to execute before the update callback which in turn means it is guaranteed to execute before the view transition `ready`/animation. As a result, it is safe/effictive to add classes to the document in the `onViewTransitionCreated` function in order to control animations of that transition and then remove those classes in the transition's `finished` `Promise`. The animation also doesn't start until the `Promise` returned by `updateCallback` resolves, so this would also guarantee that the animation starts asynchronously. resolves #51827 PR Close #52002 |
||
|---|---|---|
| .. | ||
| scripts | ||
| src | ||
| test | ||
| testing | ||
| upgrade | ||
| .gitignore | ||
| BUILD.bazel | ||
| index.ts | ||
| package.json | ||
| PACKAGE.md | ||
| public_api.ts | ||
| 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.