En este artículo vamos a ver qué es State en Angular 10 y cómo usarlo.
Estado
Sintaxis:
State(name, style, options)
NgModule: El módulo utilizado por State es:
- animaciones
Acercarse:
- Cree una aplicación angular que deba usarse.
- En app.module.ts, importe BrowserAnimationsModule.
- En app.component.html, cree un div que contenga 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á.
- Crea el estado que contiene el nombre y el estilo de la animación.
- Sirva la aplicación angular usando ng serve para ver el resultado.
Parámetros:
- Nombre: Establece una string de identificación.
- estilos: un conjunto de estilos CSS asociados con el estado.
- opciones:
Valor devuelto:
- Metadatos de estado de animación:
Ejemplo:
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 { // State 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 is used here state('clr', style({ 'background-color': '#91fff4', transform: 'translateX(0)' })), // State is used here state('clr1', style({ 'background-color': '#7356a8', transform: 'translateX(100px)' })), transition('clr => clr1',animate(1200)), transition('clr1 => clr',animate(1000)) ]) ] }) 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/state