我们有一个非常简单的组件,应该淡入淡出:enter
和:leave
事件:
import { Component, HostBinding } from '@angular/core';
import { animate, style, transition, trigger } from '@angular/animations';
@Component({
selector: 'app-test',
templateUrl: './test.component.html',
styleUrls: ['./test.component.scss'],
animations: [
trigger('host', [
transition(':enter', [
style({ opacity: 0 }),
animate('240ms linear', style({ opacity: 1 })),
]),
transition(':leave', [
style({ opacity: 1 }),
animate('240ms linear', style({ opacity: 0 })),
])
]),
]
})
export class TestComponent {
@HostBinding('@host') host() {
return true;
}
}
该组件的使用方式如下:
<app-test *ngIf="someBoolean"></app-test>
现在动画:enter
确实运行了。但是当组件被移除时,元素不会淡出(变量someBoolean
变为false
)。
什么不见了?