Я не знаю много о переходах Angular, но я понимаю, что Angular запускает анимацию, когда «что-то» меняется.Что-то меняется, когда некоторые отображаются или когда меняется переменная.
Некоторые, например,
<div [@highlightRed] >..</div>
transition('void=>*', animate(2000,, keyframes([..])),
создают переход вначале компонента (или если у вас есть * ngIf = "условие"))
Некоторые, такие как
<div [@highlightRed]="value" >..</div>
transition('void=>*', animate(0)),
transition('*=>*', animate(2000,, keyframes([..])),
запускают анимацию, если вы создаете
<button (click)="value=!value">click</button>
Обратите внимание, что вам не нужно объявлять "значение" в .ts