Angular 使用动画代替某些元素的样式是否明智?

Angular 使用动画代替某些元素的样式是否明智?,angular,logic,angular-animations,Angular,Logic,Angular Animations,只是好奇,它似乎不是很聪明,但同时,如果呢?这是一种不好的做法还是不必要的做法 例如,以div元素为例,在单独的动画文件中描述其所有状态(包括悬停和聚焦等)。当在组件文件及其html中为实现每个状态编写逻辑时?您需要问自己的唯一问题是:“使用CSS可以轻松完成吗?” 如果答案是肯定的,那就千方百计。角度绑定可以快速轻松地更改样式,并使用CSS设置动画。如果不需要依赖项,则无需向角度动画模块添加依赖项 Angular Animation module提供的是一种处理需要许多状态或特定事件(例如动画

只是好奇,它似乎不是很聪明,但同时,如果呢?这是一种不好的做法还是不必要的做法


例如,以div元素为例,在单独的动画文件中描述其所有状态(包括悬停和聚焦等)。当在组件文件及其html中为实现每个状态编写逻辑时?

您需要问自己的唯一问题是:“使用CSS可以轻松完成吗?”

如果答案是肯定的,那就千方百计。角度绑定可以快速轻松地更改样式,并使用CSS设置动画。如果不需要依赖项,则无需向角度动画模块添加依赖项

Angular Animation module提供的是一种处理需要许多状态或特定事件(例如动画结束或开始时)的更复杂动画的方法。您可以使用Angular Animation(角度动画)模块创建强大的动态动画排队系统,方法是将阵列中的不同状态排队,并在某个组件的动画结束后移动到下一个状态

一个简单的例子是屏幕中间的一个盒子,在屏幕的底部有4个箭头按钮来控制盒子的位置。每次单击按钮时,它都会将框沿按钮指定的方向移动1秒。这里的问题是,您希望在长方体开始沿选定的下一个方向移动之前完成移动

为此,每次按下按钮时,您所要做的就是将长方体的新状态(左、右、上、下)推入阵列,并使用角度动画模块,在满足以下两个条件时将长方体的状态更改为阵列中的第一个状态:a)阵列中存在状态。B) 当前动画已结束

角度动画模块允许您在动画结束或开始时进行动态更改,允许您在开始时从阵列中分割状态,并在结束时应用新状态