我正在尝试在我的应用程序中为新的角度组件创建/删除动画。
我在这里关注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的局限性吗?我还没有找到任何直接的答案。
在无需查询视图本身并对其第一个孩子进行动画处理的情况下,对我的组件进行动画处理的替代解决方案是什么?
答案 0 :(得分:0)
你好吗?
要对组件进行动画处理,应像在 AppComponent 上一样使用元数据animations
。我认为该方法已经实现了Angular,我认为它为您提供了更多的灵活性来设置组件样式。
通常,您在组件中不会只有 div ,并且可能希望分别为它们设置动画。同样,您可以继续进行“路由”动画,因此最好使用animations
元数据标签。
如果您只想在不同的组件中重复使用动画,那完全可以,而且非常容易。 您可以通过共享属性共享触发操作。
我已经让您的Stackblitz分叉了:https://stackblitz.com/edit/angular-swvfdy
干杯!