【发布时间】:2017-02-03 18:30:27
【问题描述】:
我一直在研究 Angular2 文档,似乎没有一种简单的方法可以为动画添加延迟。作为参考,这是我的目标:plunkr using jQuery
我想使用 Angular2 的动画功能,因为这些“条”是在循环中生成的。它们的动画效果很好,但同时进行。我想以 1s 的增量错开它们。这是我的主要组件文件:
import {
Component,
Input,
trigger,
state,
style,
transition,
animate
} from '@angular/core';
export class Skill {
skill: string;
level: number;
}
const SKILLS: Skill[] = [
{ skill: 'x', level: 70 },
{ skill: 'y', level: 100 },
{ skill: 'z', level: 80 }
]
@Component({
selector: 'app-wrap',
template: `
<div *ngFor="let skill of skills; let i = index" class="skill">
<span class="bar" [style.width.%]="skill.level" [@expandSkill]> </span>
</div>
`,
animations: [
trigger('expandSkill', [
state('in', style({ width: 'auto' })),
transition('void => *', [
style({ width: '0' }),
animate('1000ms ease-in-out')
])
]
]
})
export class AppComponent {
skills = SKILLS;
}
我遇到了这个看起来很相似的other SO question,但它是在几个月前被问到的,在最终发布之前。
【问题讨论】: