* (caractère générique) void et montrons comment ces états spéciaux sont utilisés pour
les éléments entrant et sortant d'une vue. Le chapitre explore également plusieurs déclencheurs d'animation, rappels d'animation et animations basées sur des séquences à l'aide d'images clés.
Angular, les états de transition peuvent être définis explicitement par le biais de la fonction state(),
ou en utilisant le prédéfini * (caractère générique) et les états void.
* ou un caractère générique correspond à tout état d'animation.
Cela est utile pour définir les transitions qui s'appliquent indépendamment de l'état de début ou de fin de l'élément HTML.open => * s'applique lorsque l'état de l'élément passe de ouvert à autre chose.
open et closed.
Au lieu de définir chaque paire de transition d'état à état, nous affirmons maintenant que toute transition vers closed
prend 1 seconde et que toute transition vers openprend 0,5 seconde.open et closed.
Les états génériques sont préférables lorsqu'un élément dans un état particulier a plusieurs états potentiels vers lesquels il peut être modifié.
Si notre bouton peut changer de l'un open à l'autre closed ou quelque chose comme inProgress,
l'utilisation d'un état générique pourrait réduire la quantité de codage nécessaire.

* => * transition s'applique lorsqu'un changement entre deux états a lieu.* => * (indifférente).
Par exemple, définissez des modifications de style ou des animations s'appliquant uniquement à open => closed,
ou uniquement à closed => open, puis utilisez-les * => * comme solution de secours pour les paires
d'états qui ne sont autrement pas appelées.* => *.* avec un style pour indiquer à l'animation d'utiliser quelle que soit la valeur du style actuel et animez-la.
Le caractère générique est une valeur de secours utilisée si l'état en cours d'animation n'est pas déclaré dans le déclencheur.
void pour configurer des transitions pour un élément entrant ou sortant d'une page.
Voir Animer entrer et sortir d'une vue.* => void s'applique lorsque l'élément quitte une vue, quel que soit l'état dans lequel il se trouvait avant de quitter.void => * s'applique lorsque l'élément entre dans une vue, quel que soit l'état dans lequel il se positionne.* correspond à n'importe quel état, y compris void.DOM.void lorsque l'élément HTML n'est pas attaché à une vue.:enter et :leave sont des alias pour les transitions void => * et * => void.
Ces alias sont utilisés par plusieurs fonctions d'animation.
DOM.
Utilisez donc les alias :enter et :leave ciblez les éléments HTML insérés ou supprimés d'une vue.
:enter s'exécute lorsque des *ngIf ou des *ngFor sont placées sur la page, et :leave lorsque ces vues sont supprimées de la page.myInsertRemoveTrigger.
Le modèle HTML contient le code suivant.:enter définit une opacité initiale de 0,
puis l'anime pour modifier cette opacité en 1 lorsque l'élément est inséré dans la vue.state().transition() prend des valeurs de sélecteur supplémentaires, :increment et :decrement.
Utilisez-les pour lancer une transition lorsqu'une valeur numérique a augmenté ou diminué.
transition() qui compare true et false, ou 1 et 0.HTML lie un élément ‹div› à un déclencheur nommé openClose avec une expression
d'état de isOpen et avec les valeurs possibles de true et false.
Ceci est une alternative à la pratique qui consiste à créer deux états nommés open et close.@Componentanimations sous la propriété animations:, lorsque l'état est évalué à true("open" ici),
la hauteur de l'élément HTML associé est un style générique ou par défaut.
Dans ce cas, utilisez la hauteur que l'élément avait déjà avant le début de l'animation.
Lorsque l'élément est "Closed", l'élément s'anime à une hauteur de 0, ce qui le rend invisible.Angular, l'animation parent est toujours prioritaire
et les animations enfants sont bloquées. Pour qu'une animation enfant puisse s'exécuter, l'animation
parent doit interroger chacun des éléments contenant des animations enfant, puis autoriser
l'exécution des animations à l'aide de la fonction animateChild().@.disabled peut être placée sur un élément HTML
pour désactiver les animations sur cet élément, ainsi que sur les éléments imbriqués.
Lorsque la valeur est true, la liaison @.disabled empêche le rendu de toutes les animations.src/app/open-close.component.htmlsrc/app/open-close.component.ts@.disabledliaison est vraie, le déclencheur @childAnimation ne démarre pas.HTML a des animations désactivées à l'aide de la @.disabledliaison hôte,
les animations sont également désactivées sur tous les éléments internes.
Vous ne pouvez pas désactiver sélectivement plusieurs animations sur un seul élément.query() pour collecter des éléments internes situés dans des zones désactivées du modèle HTML.
Ces éléments peuvent encore animer.
animateChild().Angular, placez la liaison @.disabled hôte sur le composant Angular le plus élevé.src/app/app.component.tstrigger() d'animation émet des rappels quand elle commence et quand elle se termine.
Dans l'exemple ci-dessous, nous avons un composant qui contient un déclencheur openClose.HTML, l'événement d'animation est renvoyé via $event,
en tant @trigger.start que @trigger.done, où trigger est le nom du déclencheur utilisé.
Dans notre exemple, le déclencheur openClose apparaît comme suit.API lent, tel qu'une recherche dans une base de données.
Par exemple, vous pouvez configurer le bouton InProgress pour qu'il ait sa propre animation en boucle où il pulsera ou effectuera un autre mouvement
visuel pendant la fin de l'opération du système dorsal.inProgress à l'état closed au terme duquel l'appel de l'API est terminé.console.warn() pour afficher la progression de l'application dans la console JavaScript du développeur.
L'extrait de code suivant crée une sortie du journal de la console pour notre exemple d'origine, un bouton avec les deux états de open et closed.keyframe() Angular est similaire aux images clés en CSS.
Les images clés permettent plusieurs changements de style au sein d'un même segment de minutage.
Par exemple, notre bouton, au lieu d'être atténué, peut changer de couleur plusieurs fois en une période de 2 secondes.

delay et easing au sein d'une seule animation.
Angular s'appuyant sur les animations Web, vous pouvez animer n'importe quelle propriété que le navigateur considère comme animable.
Cela inclut les positions, les tailles, les transformations, les couleurs, les bordures, etc. Le W3C gère une liste de propriétés pouvant être animées sur sa page de transitions CSS.Angular suppose une unité par défaut de pixels, ou px.
Exprimer 50 pixels 50est la même chose que dire '50px'.
CSS.* valeur de propriété générique spéciale sous style(), de sorte que la valeur de
cette propriété de style particulière soit calculée au moment de l'exécution, puis insérée dans l'animation.shrinkOut, utilisé lorsqu'un élément HTML quitte la page.
L'animation prend la hauteur que l'élément a avant de partir et s'anime de cette hauteur à zéro.