Winkel 2 animieren *ngFor Punkt der Liste eine nach der anderen mit neuen Animation, die Unterstützung im RC-5

Ich habe eine Komponente, die holt Liste von Elementen vom server und zeigt dann, dass die Liste mit *ngFor im template.

Möchte ich die Liste angezeigt werden mit etwas animation, aber eins nach dem anderen. Ich meine, jeder Punkt der Liste sollte animieren, nach anderen.

Ich versuche, so etwas wie dieses:

import { Component, Input, trigger, state, animate, transition, style } from '@angular/core';

@Component({
    selector: 'list-item',
    template: ` <li  @flyInOut="'in'">{{item}}</li>`,
    animations: [
        trigger('flyInOut', [
            state('in', style({ transform: 'translateX(0)' })),
            transition('void => *', [
                style({ transform: 'translateX(-100%)' }),
                animate(100)
            ]),
            transition('* => void', [
                animate(100, style({ transform: 'translateX(100%)' }))
            ])
        ])
    ]
})
export class ListItemComponent {
    @Input() item: any;
}

und in meiner Liste component template ich benutze es gerne:

<ul>
    <li *ngFor="let item of list;">
     <list-item [item]="item"></list-item>
    </li>
</ul>

Was es tut, ist, zeigt die gesamte Liste auf einmal. Ich möchte Elemente geben Sie nacheinander mit einigen animation.

  • Genau dieses Verhalten erwartet, für mich ! Haben Sie eine Lösung finden ?
  • Noch nicht, aber es scheint, dass mit dem neuen Animations-Modul im Winkel 2, es sollte nicht viel schwieriger jetzt. Wir können eine Komponente erstellen, die für Punkt der Liste und dann mit der animation für die auf betreten und verlassen. Check angular.io/docs/ts/latest/guide/animations.html
  • Ich habe gesehen, danke ! Meine Lösung war, ein timeout zwischen jedem element für die animation, also alle LI-element eingibt, glatt mit einer animation
  • Haben Sie einen Blick auf stackoverflow.com/questions/37880525/.... Atemberaubend ist noch nicht implementiert.
InformationsquelleAutor Naveed Ahmed | 2016-06-28
Schreibe einen Kommentar