1

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

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

4

1 回答 1

1

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

如果答案是肯定的,那么无论如何。Angular 绑定使更改样式和使用 CSS 制作动画变得简单快捷。如果不需要的话,向 Angular-Animation 模块添加依赖是没有意义的。

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

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

为此,您只需在每次按下按钮时将框的新状态(左、右、上、下)推入一个数组,并使用 Angular-Animation 模块将框的状态更改为第一个当满足这两个条件时,数组中的状态: A)数组中有一个状态。B) 当前动画已经结束。

Angular-Animations 模块可以让您在动画结束或开始时进行动态更改,允许您在开始时将状态从数组中切出并在结束时应用新状态。

于 2017-07-05T16:29:28.083 回答