Я попытался добавить анимацию к родительскому компоненту, поэтому, когда дочерние компоненты: введите или: оставьте, появится эффект скольжения. Вот мой родитель @component:Как анимировать дочерние компоненты в угловом 2?
@component({
selector: 'plan',
templateUrl: '../templates/plan.tpl.html',
styleUrls: ['../../../../assets/css/plan.scss'],
animations: [
trigger('stepAnimation', [
transition(':enter', [
style({transform: 'translateX(100%)'}),
animate('0.5s ease-in-out', style({transform: 'translateX(0%)'}))
]),
transition(':leave', [ // before 2.1: transition('* => void', [
style({transform: 'translateX(0%)'}),
animate('0.5s ease-in-out', style({transform: 'translateX(-100%)'}))
])
])]
})
Затем я добавил переключатель анимации к компоненту ребенка в шаблоне следующим образом:
<start *ngIf="currentPage == 'start'" @stepAnimation></start>
<about *ngIf="currentPage == 'about'" @stepAnimation></about>
<family *ngIf="currentPage == 'family'" @stepAnimation></family>
анимация не работает. Затем я добавляю код анимации внутри каждого компонента и добавляю @stepAnimation к родительскому тегу каждого шаблона. Таким образом, я получаю анимацию ввода, но не уйду. Я предполагаю, что из-за ngIf для родителя, но независимо от того, есть много кода повторной анимации с этим. Будет ли в любом случае обработать анимацию на родительском уровне?
К сожалению, есть [никоим образом] (https://stackoverflow.com/questions/31480950/custom-element-selector), чтобы выбрать все пользовательские элементы. Однако атрибут класса или данных может работать. –