我正在尝试为我的应用程序中组件之间的更改设置动画。活动的应该从右边退出(:leave),新的应该从左边进入(:enter)。我已经设置了代码来做到这一点,但是进入的代码被渲染在离开的代码下方(动画工作),我猜这与它们被显示为块有关,但是当我删除那个样式时从主机属性,动画中断。现在已经挠了一个小时了,我真的很感激这方面的一些帮助。我的代码是:
@Component({
(...)
host: {
'[@flyInOut]': 'true',
'style': 'display: block;'
},
animations: [
flyInOut()
]
})
export function flyInOut() {
return trigger('flyInOut', [
state('*', style({
opacity: 1,
transform: 'translateX(0)'
})),
transition(':enter', [
style({
transform: 'translateX(-100%)',
opacity: 0
}),
animate('2000ms ease-in')
]),
transition(':leave', [
animate('2000ms ease-out', style({
transform: 'translateX(100%)',
opacity: 0
}))
])
]);
}
我正在从单独的文件中导入动画,并且故意将时间设置为高以进行调试。感谢任何能够提供帮助的人!