У меня есть очень простой компонент с анимацией постепенного появления / исчезновения:
@Component({
selector: 'app-tooltip',
templateUrl: './tooltip.component.html',
styleUrls: ['./tooltip.component.css'],
animations: [
trigger('fade', [
state('void',
style({
opacity: 0
})
),
transition(':enter, :leave',[
animate(2000)
])
])
]
})
export class TooltipComponent {
constructor() { }
}
Вот соответствующий шаблон:
<div @fade>
This is my tooltip
</div>
Вот как компонент вызывается:
<button (click)="show = !show">Show Tooltip</button>
<app-tooltip *ngIf="show"></app-tooltip>
входящая анимация работает очень хорошо, а уходящая - нет. Если я добавлю ngIf в компонент подсказки, обе анимации будут работать, но это не желаемое решение. Действительно, мой компонент всплывающей подсказки - это компонент, который уже существует в собственной библиотеке, которая уже используется во многих проектах в моей компании. Я не хочу изменять клиентский проект всей библиотеки (кроме версии библиотеки). Моя цель - легко добавить анимацию во все всплывающие подсказки.
Вот моя проблема со стекабликом: https://stackblitz.com/edit/angular-wanrsx
Может кто-нибудь объяснить мне, почему моя уходящая анимация не дает работать пожалуйста? Как я могу заставить обе анимации работать без перемещения моей директивы ngif?