Я пытаюсь добиться простой анимации с помощью угловых. По нажатию кнопки я меняю состояние showState
с shown
. Так как я использую * ngIf, я использовал ключевое слово void
в анимации, но оно не работает.
STACKBLITZ
CSS
p {
border: 1px solid black;
background-color: lightblue;
padding: 10px;
}
app.component.ts
import { showStateTrigger } from './animations';
import { Component } from "@angular/core";
@Component({
selector: "app-root",
templateUrl: "./app.component.html",
styleUrls: ["./app.component.scss"],
animations: [
showStateTrigger
]
})
export class AppComponent {
isShown = false;
}
HTML
<button (click)="isShown = !isShown">Toggle Element</button>
<p [@showState]="isShown ? 'shown' : 'notShown'" *ngIf="isShown"> You can see me now!</p>
Animations.ts
import {состояние, стиль, переход, триггер, анимация} from "@ angular / animations ";
export const showStateTrigger = trigger (" showState ", [
transition('void => shown', [
style({
opacity: 0
}),
animate(2000, style({
opacity: 1
}))
])
]);