角动画不会为新组件设置动画

时间:2019-10-28 20:24:46

标签: angular animation

我正在尝试在我的应用程序中为新的角度组件创建/删除动画。

我在这里关注Angular指南: https://angular.io/guide/transition-and-triggers#enter-and-leave-aliases

具体来说,我正在尝试为不透明度设置动画(例如,fadeIn效果)。我注意到动画似乎可以在普通的html元素(divs等)上正常工作,但是当应用于角度组件时却不能。我创建了以下Stackblitz来演示该问题。

https://stackblitz.com/edit/angular-9tvz1b

我希望两个块都以相同的方式进行动画处理,但是只有第一个可以。我注意到直接在Devtools中对元素应用0.5不透明度也没有效果。那么这仅仅是HTML的局限性吗?我还没有找到任何直接的答案。

在无需查询视图本身并对其第一个孩子进行动画处理的情况下,对我的组件进行动画处理的替代解决方案是什么?

1 个答案:

答案 0 :(得分:0)

你好吗?

要对组件进行动画处理,应像在 AppComponent 上一样使用元数据animations。我认为该方法已经实现了Angular,我认为它为您提供了更多的灵活性来设置组件样式。

通常,您在组件中不会只有 div ,并且可能希望分别为它们设置动画。同样,您可以继续进行“路由”动画,因此最好使用animations元数据标签。

如果您只想在不同的组件中重复使用动画,那完全可以,而且非常容易。 您可以通过共享属性共享触发操作。

我已经让您的Stackblitz分叉了:https://stackblitz.com/edit/angular-swvfdy

干杯!