Мне нужно было что-то вроде этого, и я создал доказательство концепции, которое вы можете увидеть на stackblitz .дизайн был взят из здесь
Поместите ваши ключевые кадры в другой файл
import { keyframes, style,animate } from '@angular/animations';
export const swiperight = [
style({ opacity: 1 }),
style({ transform: 'translate3d(200%, 0, 0) rotate3d(0, 0, 1, 120deg)', opacity: 0 }),
]
export const swipeleft = [
style({ opacity: 1 }),
style({ transform: 'translate3d(-200%, 0, 0) rotate3d(0, 0, 1, -120deg)', opacity: 0 }),
]
Так вы импортируете свои анимации
import * as kf from './keyframes';
Изарегистрируйте их в компоненте
animations: [
trigger('cardAnimator', [
transition('* => swiperight', animate(750, keyframes(kf.swiperight))),
transition('* => swipeleft', animate(750, keyframes(kf.swipeleft)))
])
]
Это видео объясняет это