当我更新传入的集合时,我正在触发动画*ngFor
:
//JS
state : string = 'a';
colors = {
a: ['red','blue','green','yellow'],
b: ['orange']
}
public onClick (){
this.state = this.state === 'a' ? 'b' : 'a';
}
//HTML
<div *ngFor="let color of colors[state]"
[@animationState]="state"
(click)="onClick()">
{{color}}
</div>
问题:当动画发生时,两者的颜色a
和b
显示,这使得动画生涩。
我试过了:
- 设置
transform: scale(0)
或动画开始display:none
之前void => *
void => *
通过动画的持续时间延迟* => void
动画
我想要:在新内容淡入/滑入之前(或同时)平滑淡入和/或滑出我现有的内容。
这是一个演示问题的 plunkr:https ://plnkr.co/edit/IDE6q6lJ84QI2Zirvn4P?p=preview