我想通过动画来淡化元素的子元素,通过调整其透明度。这个方法可以正常工作,但是在动画结束后,子元素的样式会恢复到原始状态(透明度未设置)。
如何避免这种情况/如何告诉Angular在动画完成后保留目标状态的样式?
以下是我的代码:
@Component({
selector: 'app-playground',
template: `
<div [@simpleStateTransition]="simpleState">
{{ simpleState }}
<div class="fadeout">fade this child out!</div>
</div>
<button (click)="toggleSimpleState()">toggle simple state</button>
`,
animations: [
trigger('simpleStateTransition', [
transition('initial => extended', group([
query('.fadeout', animate('300ms', style({'opacity': '0'})))
])),
])
]
})
export class PlaygroundComponent {
simpleState = 'initial'
constructor() { }
toggleSimpleState() {
this.simpleState = this.simpleState === 'initial' ? 'extended' : 'initial'
}
}