Angular 5 Stagger动画 – 如何进行逆序

在使用Angular CDK和开发自定义组件时,我正在尝试使用ngIf和ngFor实现交错动画.
动画是一系列简单的淡入.

以下简化的HTML

<button (click)="visible = !visible">Toggle</button>
<div class="parent" @parentAnimation *ngIf="visible">
  <p class="child">Child 1</p>
  <p class="child">Child 2</p>
  <p class="child">Child 3</p>
</div>

和组件:

@Component({
  selector: 'my-app',templateUrl: './app.component.html',styleUrls: [ './app.component.css' ],animations: [
        trigger('parentAnimation',[
            transition('void => *',[
                query('.child',style({opacity: 0})),query('.child',stagger('500ms',[
                    animate('100ms .1s ease-out',style({opacity: 1}))
                ]))
            ]),transition('* => void',style({opacity: 1})),style({opacity: 0}))
                ]))
            ])
        ])
    ]
})
export class AppComponent  {
   visible = false;
}

StackBlitz – https://stackblitz.com/edit/angular-5dj532

从上面的链接中可以看出,问题是当隐藏元素时,需要颠倒顺序(LIFO).

查看交错和查询文档,我找不到内置的方法来反转顺序.

有没有适当的方法来实现这个使用角度动画?

解决方法

在第二个交错时使用负时间:

....
query('.child',stagger('-500ms',[....
...

Demo

相关文章

ANGULAR.JS:NG-SELECTANDNG-OPTIONSPS:其实看英文文档比看中...
AngularJS中使用Chart.js制折线图与饼图实例  Chart.js 是...
IE浏览器兼容性后续前言 继续尝试解决IE浏览器兼容性问题,...
Angular实现下拉菜单多选写这篇文章时,引用文章地址如下:h...
在AngularJS应用中集成科大讯飞语音输入功能前言 根据项目...
Angular数据更新不及时问题探讨前言 在修复控制角标正确变...