Я использую угловую анимацию, чтобы скользить в и из бара. Здесь я вызываю анимацию для бара из родительского компонента.
MyParentComponent.Html
<button type="button" (click)="toggleMenu()"><button>
<app-navigation-bar [@slideInOut]="menuState"></app-navigation-bar>
MyParentComponent.ts
@ViewChild(childComponent) child: childComponent;
toggleMenu(){
this.child.toggleMenu();
}
Я пытаюсь заставить анимацию работать для моего childComponent из триггера кнопки родительского компонента. Но я не могу получить переменную lideInOut 'триггера анимации для родителя.
childComponent.ts
@Component({
selector: 'app-navigation-bar',
template: './child.component.html',
styleUrls: ['./child.component.less'],
animations: [
trigger('slideInOut', [
state('in', style({
transform: 'translateX(0)'
})),
state('out', style({
transform: 'translateX(100%)'
})),
transition('in => out', animate('400ms ease-in-out')),
transition('out => in', animate('400ms ease-in-out'))
]),
]
})
export class childComponent implements OnInit {
constructor() { }
@Input() menuState:string = 'out';
ngOnInit() {
}
toggleMenu() {
// 1-line if statement that toggles the value:
this.menuState = this.menuState === 'out' ? 'in' : 'out';
}
}
Как вызвать переменную анимации от дочернего к родительскому компоненту? Помогите