En este artículo, vamos a ver qué es la transición en Angular 10 y cómo usarla.
transición de
Sintaxis:
transition (stateChangeExpr, steps, options)
NgModule: el módulo utilizado por la transición es:
- animaciones
Acercarse:
- Cree la aplicación angular que se utilizará.
- En app.module.ts importe BrowserAnimationsModule.
- En app.component.html crea un div que contendrá el elemento de animación.
- En app.component.ts, importe el activador, el estado, el estilo, la transición y la animación que se utilizará.
- Haga la transición que contenga stateChangeExpr, pasos, opciones para la animación.
- Sirva la aplicación angular usando ng serve para ver el resultado.
Parámetros:
- stateChangeExpr: una expresión booleana que compara el anterior.
- pasos:
- opciones:
Valor devuelto:
- Metadatos de transición de animación:
Ejemplo 1:
app.module.ts
import { LOCALE_ID, NgModule } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; import {BrowserAnimationsModule} from '@angular/platform-browser/animations'; import { AppRoutingModule } from './app-routing.module'; import { AppComponent } from './app.component'; @NgModule({ declarations: [ AppComponent ], imports: [ BrowserModule, AppRoutingModule, BrowserAnimationsModule ], providers: [ { provide: LOCALE_ID, useValue: 'en-GB' }, ], bootstrap: [AppComponent] }) export class AppModule { }
app.component.ts
import { // Transition is imported here trigger, state, style, transition, animate } from '@angular/animations'; import { Component } from '@angular/core'; @Component({ selector: 'app-root', templateUrl: './app.component.html', styleUrls: [ './app.component.css' ], animations: [ trigger('geek',[ state('clr', style({ 'background-color': '#ff0000', transform: 'translateX(0)' })), state('clr1', style({ 'background-color': '#000000', transform: 'translateX(100px) translateY(100px) scale(0.3)' })), // transition is used here transition('clr => clr1',animate(1600)), transition('clr1 => clr',animate(100)) ]) ] }) export class AppComponent { state = 'clr'; anim(){ this.state == 'clr' ? this.state = 'clr1' : this.state = 'clr'; } }
app.component.html
<h1>GeeksforGeeks</h1> <button (click)='anim()'>Animate</button> <br> <br> <div style="width: 150px; height: 100px; border-radius: 5px;" [@geek]='state'> </div>
Producción:
Referencia: https://angular.io/api/animations/transition