我正在尝试整理如何使用初始状态制作 Angular 动画。我正在尝试开发一个向上/向下滑动动画,到目前为止:
trigger(
'slideHeight',
[
state('closed', style({
display: 'none',
height: 0
})),
state('open', style({
// display: 'block',
height: '*'
})),
transition('* <=> *', [
style({
display: 'block'
}),
animate('.5s ease')
])
]
)
在 jQuery 版本中,有问题的元素在display: none
上面,我注意到 jQuery 幻灯片打开了,然后我看到display: block
了最后一个元素。
当我display: 'block'
如上所述注释掉时,它按预期工作,但是,当页面加载时,它从元素从全高变为无(我猜这很有意义?),这对用户来说很奇怪。
我试图弄清楚如何设置它,所以在关闭时,首先它会转到display: block
,运行高度动画,并保持块。在另一个方向,我想阻止它直到它完成,添加一个display: none
.
我试过添加一个不显示的类,但是由于动画在之前/之后没有添加一个类,它并没有按预期工作。我怀疑这应该是 Angular 动画 JS 和 CSS 类的组合,但我不太清楚这种模式。关于如何解决这个问题的任何建议都会很棒。