我试图在一个角度项目的列表上做一个缩放动画; 但是,我需要的是,只有在按下屏幕上的某些按钮时,动画才会被触发,(如视频中所示的红色和绿色按钮)。
现在,无论我点击什么,动画重新开始,有人知道问题出在哪里吗?
打字脚本代码:
animations: [
trigger('enableDisable', [
state('void', style({
transform: 'scaleY(0)'
})),
state('*', style({
transform: 'scaleY(1)'
})),
transition('void => *', animate(200))
])
]
HTML代码:
<div
[@enableDisable]
(click)="onSelect(item)" *ngFor="let item of itemList">
<app-item-task [item]="item"></app-item-task>
</div>
我上传了一个演示这个问题的视频,很抱歉视频的质量,我不得不降低它:动画问题视频
谢谢!
为您的ngFor添加跟踪功能,如下所示
*ngFor="let item of itemList; trackBy: trackById"
trackById(index, item) {
return item.id;
}
如果您没有任何东西指定您的项目,您可以尝试只返回索引。 当它被添加时,ngFor不呈现新元素,而是在不需要时重用旧元素