*ngIf
вероятно, это не лучшая вещь, которую вы ищете, вместо этого используйте ngClass
и определите переходы css и позиции для этих анимаций.
*ngIf
полностью скрывает / показывает узел из / в DOM, это похоже на display: none/block
, который не может быть анимирован с помощью css-переходов
, вот пример
<div class="animated" [ngClass]=" { 'show': show, 'hide': !show }">
content
</div>
затем в css
.animated {
display: inline-block;
width: 100%;
height: 80px;
background: gray;
transition: 1.5s linear margin-left;
}
.animated.show {
margin-left: 0;
}
.animated.hide {
margin-left: -120vw;
}
Высота также может быть изменена, в зависимости от ожидаемого эффекта.
Здесь stackblitz с рабочим кодом