Вместо использования перехода void => *
вы можете попытаться дать определенные c имена / логические значения, такие как false => true
, и привязать их к переменной-члену. Попробуйте следующий
line-chart.component.ts
@Component({
selector: 'line-chart',
templateUrl: './line-chart.component.html',
styleUrls: ['./line-chart.component.css'],
animations: [
trigger('fade', [
state('false', style({ opacity: 0 })),
state('true', style({ opacity: 1 })),
transition('false => true', animate('2000ms ease-in')),
transition('true => false', animate('2000ms ease-out'))
]),
]
})
export class LineChartComponent {
@Input('curve-data') curveData: Array<object>;
@Input('graph-size') graphSize: String;
private fadeInStart = false; // <-- hide chart by default
constructor(
private lineChartService: LineChartService,
private elRef: ElementRef,
) { }
ngAfterViewInit() {
this.lineChartService.makeGraph(
this.curveData,
this.elRef.nativeElement,
this.graphSize,
);
this.fadeInStart = true; // <-- show chart here
}
}
line-chart.component. html
<div [@fade]="fadeInStart">
<!-- chart -->
</div>