我在我的项目中使用了一个angular动画(淡入,淡出)来实现模态组件的效果。
该模态框被设置为在点击不同组件上的按钮时打开(使用模态框服务)。
托管模态框组件的组件中的动画代码:
animations: [
trigger('modalVisibilityChanged', [
state(
'shown',
style({
opacity: 1,
visibility: 'visible'
})
),
state(
'hidden',
style({
opacity: 0,
visibility: 'hidden'
})
),
transition('shown => hidden', animate('500ms ease-in')),
transition('hidden => shown', animate('500ms ease-out'))
])]
并且HTML:
<app-modal [@modalVisibilityChanged]="visibility"></app-modal>
这个动画在将模态内容动态加载并插入到模态组件中之前都能够完美运行(在模态组件的html中使用ng-template)。但是在那之后,该动画不再起作用(当点击按钮时,相关的css属性不会改变),并且使用Google Chrome进行检查时,模态组件div将得到类“ng-animate-queued”。 以下是它的外观:
![](https://istack.dev59.com/ZoXmT.webp)
有人可以帮我解决问题或分享原因吗? 谢谢!