我想在 Angular 4 应用程序中为图像交换设置动画。当控制器替换 img src 属性时,旧图像应该消失并出现新图像。
在 AngularJS 中,这可以通过使用 ng-animate-swap 更改不透明度来实现。但是,Angular 4 似乎不支持动画交换。如果没有交换触发器,如何实现这一点?
我尝试为 src 属性添加从 void 到 * 并返回的转换,但这不能按预期工作。第一个图像是动画的,后来交换发生时没有动画。
@Component({
selector: 'app-play-card',
template: '<div (click)="loadImg()"><img [@fade]="imgsrc" src="{{ imgsrc }}" /></div>',
styleUrls: ['./play-card.component.css'],
animations: [
trigger('fade', [
transition('void => *', [
style({opacity: 0.1}),
animate(5000, style({opacity: 1}))
]),
transition('* => void', [
style({opacity: 0.9}),
animate(5000, style({opacity: 0}))
])
])
]
})