Winkel-Animation Für Dynamisch Veränderliche Höhe
Habe ich erfolgreich bekommen ein Gremium zu animieren, erweitern und schließen beim betreten und verlassen der DOM. Das problem ist ich habe jetzt ein busy-Indikator in der Systemsteuerung vor und zeigt die details und die animation tritt nur auf, für die Eröffnung die Funktionsanzeige, und schnappt, wenn der detail-Inhalt angezeigt.
Wie bekomme ich den Winkel für die animation auf jeder beliebigen Höhe ändern?
Habe ich ein Beispiel hier: https://plnkr.co/edit/Bs0rwp4ElidR75zN3ulR
trigger('expandCollapseDetails', [
state('void', style({
'height': '0px',
overflow: 'hidden'
})),
//element being added into DOM.
transition(':enter', [
animate('500ms ease-in-out', style({
'height': '*',
overflow: 'hidden'
}))
]),
//element being removed from DOM.
transition(':leave', [
animate('500ms ease-in-out', style({
'height': '0px',
overflow: 'hidden'
}))
])
])
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich geschrieben habe, eine Komponente, die sanft belebt die Höhe der projizierten Inhalt, wenn sich der Inhalt ändert.
Man benutzt es wie folgt:
Hier ein stackblitz: https://stackblitz.com/edit/angular4-kugxw7
Dies ist die Komponente:
indicator
ist eigentlich der Auslöser für die animation.Machte ich eine Richtlinie basierend auf dem @MartinCremer Antwort. Ich denke, mit einer Richtlinie mehr Sinn macht, da durch Sie das tun, sollten Sie auch hinzufügen, die animation zu Ihrer übergeordneten Komponente (und es ist in der Nähe der standard-Weg von hinzufügen von Animationen).
So, in meinem
animations.ts
- Datei. Ich habe die animation:dann sollten Sie sich diese animation an Ihre übergeordnete Komponente (die Komponente, die Sie verwenden möchten, die animation innen):
Und hier ist die Richtlinie, die ganz in der Nähe der Komponente von @MartinCremer:
Schließlich in
parent.component.html
mit der Direktive:Ersetzen Sie einfach
yourAnimationIndicator
mit der variable, die die animation auslösen auf änderung seines Wertes.Kann man etwas erreichen ähnlich wie mit einem bisschen css-und js:
Lösung:
Komponente.ts -
css
Code:
https://stackblitz.com/edit/angular-il71da