Angular 2错开列表动画

Ros*_*ins 6 animation angular

我试图用动态列表在我的应用程序中错开动画.我想动画进入和离开,如果可能的话,但只会让你进入工作.

animations: [
    trigger('slideIn', [
        transition(':enter', [
            style({
                transform: 'translate3d(0,-10px,0)',
                opacity: 0
            }),
            animate('0.1s', style({
                transform: 'translate3d(0,0,0)',
                opacity: 1
            }))
        ])
    ])  
  ]
Run Code Online (Sandbox Code Playgroud)

上面是我无法运行的动画代码,下面是我如何将其实现到模板中.

<ion-content [@listAnimation]="eventsList?.length">
    <ion-list>
              <event-item *ngFor="let item of eventsList" [item]="item"></event-item>
    </ion-list>
     <empty-list [list]="eventsList" [message]="'There are no event items to display.'"></empty-list>
    <ion-infinite-scroll [enabled]="infiniteScroll === null" (ionInfinite)="doInfinite($event)">
        <ion-infinite-scroll-content></ion-infinite-scroll-content>
     </ion-infinite-scroll>
</ion-content>
Run Code Online (Sandbox Code Playgroud)

请让我知道我哪里出错了.

Bul*_*lan 3

我自己还没有做过任何动画,但根据: https ://www.yearofmoo.com/2017/06/new-wave-of-animation-features.html#space-things-out-with-stagger

您的代码应该如下所示:

animations: [
trigger('listAnimation', [
   transition('* => *', [
   // remember that :enter is a special
   // selector that will return each
   // newly inserted node in the ngFor list
   query(':enter', [
        style({
            transform: 'translate3d(0,-10px,0)',
            opacity: 0
        }),
        animate('0.1s', style({
            transform: 'translate3d(0,0,0)',
            opacity: 1
        }))
    ])
])  
]
Run Code Online (Sandbox Code Playgroud)

这就是query在你已有的基础上增加一个层次