📜  Angular10 动画 animate()函数

📅  最后修改于: 2022-05-13 01:56:20.420000             🧑  作者: Mango

Angular10 动画 animate()函数

在本文中,我们将了解 Angular 10 中的动画以及如何使用它。

Angular10 中animate用于定义一个将样式信息与时序信息相结合的动画步骤

句法:

animate(timings | styles)

NgModule: animate 使用的模块是:

  • 动画

方法:

  • 创建要使用的 Angular 应用程序
  • 在 app.module.ts 中导入 BrowserAnimationsModule
  • 在 app.component.html 中创建一个包含动画元素的 div。
  • 在 app.component.ts 中导入要使用的触发器、状态、样式、过渡、动画。
  • 使用包含时间和样式的动画()制作动画。
  • 使用 ng serve 为 Angular 应用程序服务以查看输出

参数:

  • 计时:为父动画设置 AnimateTimings
  • 样式:为父动画设置 AnimationStyles

返回值:

  • AnimationAnimateMetadata:封装动画步骤的对象

示例 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 { 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('gfg',[
      state('normal', style({
        'background-color': 'red',
        transform: 'translateX(0)'
      })),
      state('highlighted', style({
        'background-color': 'blue',
        transform: 'translateX(0)'
      })),
      transition('normal => highlighted',animate(1200)),
      transition('highlighted => normal',animate(1000))
    ])
  ]
})
export class AppComponent  {
  state = 'normal';
  anim(){
    this.state == 'normal' ? 
    this.state = 'highlighted' : this.state = 'normal';
  }
}


app.component.html

GeeksforGeeks



app.component.ts

import { 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('gfg',[
      state('normal', style({
        'background-color': 'red',
        transform: 'translateX(0)'
      })),
      state('highlighted', style({
        'background-color': 'blue',
        transform: 'translateX(0)'
      })),
      transition('normal => highlighted',animate(1200)),
      transition('highlighted => normal',animate(1000))
    ])
  ]
})
export class AppComponent  {
  state = 'normal';
  anim(){
    this.state == 'normal' ? 
    this.state = 'highlighted' : this.state = 'normal';
  }
}

app.component.html

GeeksforGeeks

输出:

参考: https://angular.io/api/animations/animate