
Et ça y est, vous avez déjà bien avancé dans Angular, et vous souhaitez faire plus. Vous ne souhaitez pas utiliser les animations css. Et pourtant, vous souhaitez animer vos composants, leurs contenus ? Les animations css sont faites pour vous !
Déclaration dans chaque composant
Toute animation doit ĂȘtre dĂ©clarer dans la partie declaration de chaque composant.
- Deux choix se présentent à vous :
DĂ©claration complĂšte dans chaque composant - CrĂ©ation d’animations partagĂ©es dans un fichier dĂ©diĂ©
Architecture d’une animation
Tout commence par un déclencheur
- Chaque animation déclarée est réprésentée par un trigger (déclencheur).
Chaque trigger va paramĂ©trer toute l’animation. - Elle porte un nom et contient :
Des états - Des transitions
Etat de transition
Chaque Ă©tat dĂ©finit la fin d’une transition.
On va pouvoir lui préciser des rÚgles css pour animer les composants HTML.
Les états ne sont pas obligatoires dans un déclencheur.
Cependant, elles permettent de définir différents étapes dans une animation.
Définition de transition
Chaque transition dĂ©finit des rĂšgles de passage d’un Ă©tat Ă un autre.
Dans chaque transition, nous allons pouvoir dĂ©finir des animations (une durĂ©e, un temps d’animation) pour arriver Ă un nouvel Ă©tat.
Un exemple simple d’animation
Explication :
Nous définissons deux états : open1 et close1.
Pour chaque état, nous définissons les rÚgles css de fin de transition.
Puis, nous dĂ©clarons deux transitions : passage de l’Ă©tat open1 Ă close1, et l’opposĂ©.
On y note une animation d’une durĂ©e de 1 seconde ou de 0.5 seconde.
Reste un point Ă dĂ©finir … comment appeler l’animation du cĂŽtĂ© template ?
Appel d’une animation cĂŽtĂ© template
L’animation va ĂȘtre appelĂ©e dans une balise HTML ou Angular.
Puis, nous pouvons changer l’Ă©tat d’une animation en lui passant une valeur, exactement comme on passe une information en Input Ă un composant enfant.
Nous notons ici l’appel spĂ©ciale d’une animation : [@monAnimation].
Cependant, une animation peut aussi ĂȘtre appelĂ©e sans les []. Elle servira alors sans pouvoir changer d’Ă©tat.
Dans l’exemple ci-dessus, nous notons qu’une variable ‘state’, qui est dĂ©fini dans le composant, va changer de valeur.
Cette valeur est bindĂ©e, donc elle va activer le changement d’Ă©tat. Elle va donc dĂ©clencher les transitions !
Aller plus loin avec les animations
Donner un rythme avec les keyFrames
Si vous souhaitez changer le rythme auto-calculé des animations, vous pouvez définir des keyFrames pour préciser le rythme.
Ce rythme est reprĂ©sentĂ© par des keyFrames. Chaque keyFrame dĂ©finir le pourcentage du temps (valeur comprise entre 0 et 1) oĂč la keyFrame va s’activer.
Filtrer et améliorer les animations
RequĂȘtes avec query
Avec query vous allez pouvoir dĂ©cider sur quels Ă©lĂ©ments enfants l’animation va se dĂ©clencher.
Vous allez aussi pouvoir y prĂ©ciser des Ă©vĂ©nements (comme :input, lors d’une saisie dans un champ).
En somme, c’est une rĂšgle CSS, une requĂȘte CSS.
Tu as le swag baby ?
Avec swagger, vous allez aussi pouvoir choisir le rythme de l’animation, et quand elle va se dĂ©clencher !
A vous les animations plus stylées !