Je voudrais animer un svg à l'intérieur d'un composant dans Angular, mais j'ai du mal à spécifier des étapes dans l'animation.Animation de SVG avec Angular 4, transition et requête
Je veux animer les étapes suivantes:
1) cercle commence offscreen avec opacité 0
2) cercle se déplace sur l'écran du haut et devient plus opaque comme il va, se terminant l'opacité 1
3) cercle se déplace vers la droite, se terminant offscreen
je ne peux même pas commencer à offscreen, mais il me semble aussi avoir aucun contrôle sur les éléments déclencheurs d'animation. Je voudrais qu'il déclenche 1s après le chargement de la page.
HTML:
<svg width="100" height="100">
<circle cx="50" cy="50" r="40" stroke="green" stroke-width="4" fill="yellow" />
</svg>
TS:
import { Component, OnInit, HostBinding } from '@angular/core';
import { style, animate, animation, animateChild, useAnimation, group, sequence, transition, state, trigger, query, stagger } from '@angular/animations';
@Component({
selector: 'app-svg-viewer',
templateUrl: './svg-viewer.component.html',
styleUrls: ['./svg-viewer.component.css'],
animations: [
trigger('myAwesomeAnimation', [
transition(':enter', group([
query('circle', stagger('0ms', [
animate('200ms 250ms ease-in', style({ opacity: 0, transform: 'translateY(-400%)' }))
])),
])),
])
],
})
export class SvgViewerComponent implements OnInit {
@HostBinding('@myAwesomeAnimation')
public animateProfile = true;
constructor() { }
ngOnInit() {
}
}
Mon environnement de dev est un cli angulaire Construction standard avec les ajouts suivants à app.module.ts:
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
et dans @NgModule dans app.module.ts:
BrowserModule,
BrowserAnimationsModule,
https://blog.thoughtram.io/angular/2017/07/26/a-web-animations-deep-dive-with-angular.html – JGFMK
J'ai essayé et j'ai essayé de modifier la Plunk pour inclure mon svg - cela ne semble pas fonctionner – Davtho1983
Ne supposez pas que vous avez fourchu le plunk afin que vous puissiez le lier ... – JGFMK