В моем текущем проекте я пытаюсь избавиться от пропуска анимации Angular при маршрутизации. В моем шаблоне у меня есть разные «виджеты» с mat-card в макете css-сетки, которые я хочу, чтобы они появлялись и исчезали плавно.
Мои анимации в дочернем компоненте (на который указывает маршрут) выглядят как
animations: [
trigger('cardAnimation', [
state('void', style({ opacity: 0, transform: 'scale(0.5)' })),
state('*', style({ opacity: 1, transform: 'scale(1)' })),
transition('void => *', animate('500ms ease-in')),
transition('* => void', animate('500ms ease-in'))
])
]
Упрощенный шаблон выглядит так
<mat-card @cardAnimation>
</mat-card>
<mat-card @cardAnimation>
</mat-card>
Карточки отображаются с анимацией, но при переходе к следующему маршруту происходит переход к следующему маршруту, не дожидаясь анимации. Я также тестировал использование animateChild()
внутри query
внутри перехода, но это не помогает. Как заставить роутер их ждать?
Спасибо и ура!