Angular 2动画结束回调函数

标签 angular

基于Angular 2的动画示例,有没有办法指定动画结束时的回调函数?

animations: [
trigger('heroState', [
  state('inactive', style({
    backgroundColor: '#eee',
    transform: 'scale(1)'
  })),
  state('active',   style({
    backgroundColor: '#cfd8dc',
    transform: 'scale(1.1)'
  })),
  transition('inactive => active', animate('100ms ease-in')),
  transition('active => inactive', animate('100ms ease-out'))
])
]

最佳答案

您可以非常轻松地管理动画,而无需依赖 Angular 动画。 Angular5 现在支持大多数回调方法,包括“animationend”回调。 这是一个基本示例。一旦动画被触发,'anim-slide',它是保存动画的 css 类附加到 DOM。这是通过使用“animClass”来完成的,它是一个常规的 Angular 分量变量。动画完成后,通过清空“animClass”变量从 DOM 中删除 css 类

<div (click)="animClass='anim-slide'" >
    <i class="far fa-bell"></i>
 </div>
 <div class="value" [ngClass]="animClass" (animationend)="animClass=''">
     <div>some text that would slide in</div>
 </div>`

供引用的 CSS 类

.anim-slide{
    animation-duration: 3s;
    animation-name: slidein;
}
  
@keyframes slidein {
    from {
      margin-left: 100%;
      width: 300%; 
    }
  
    to {
      margin-left: 0%;
      width: 100%;
    }
}

关于Angular 2动画结束回调函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38963937/

相关文章:

javascript - 如何在 Promise 中同步执行 'http get' ? Angular 2 + ionic 3

Angular2 Boolean @Input 属性被设置为字符串 - 绑定(bind)嵌套属性

javascript - Angular Observable 订阅回退?

javascript - 动态创建带有嵌套对象/数组结构的数组的更好方法

Angular 9 "No value provided for @angular/core symbol ' ɵɵinjectPipeChangeDetectorRef'。”(IVY)

angular - 从子级到父级的 EventEmitter 不工作

angular - 在 Angular 英雄之旅中找不到模块 './in-memory-data-service'

javascript - 对对象数组进行排序 Angular typescript

javascript - Angular2 http.post : Create promise with subscribe

angular - 使用 Angular 2+ 在按钮单击上添加 DOM 元素