我有以下組件,它將簡單地從我的數據庫中獲取包含標題和百分比的技能數據集。Angular 2動畫與異步數據
我的目標是讓每個div的初始寬度值爲0%,並且一旦http請求回來並且正確的信息被回收,就使用從左到右的動畫爲每個技能設置正確的百分比(div會有背景色,所以你應該看到它的寬度增加,例如:0%---> 95%)。
我想知道什麼是在正確的Angular 2治療中實現這一點的最佳方法。我知道有一個動畫屬性可以在組件裝飾器上使用,但我不確定如何使它與異步結果一起工作。
這個問題最重要的是如何處理數據通過異步管道進入,可以顯示百分比凹凸的動畫。形式0到任何它將是。因爲現在我立即看到最終的結果,但是,動畫從未被執行(並且動畫是我實際尋找的,而不僅僅是打印最終的條形結果)。
我敢肯定,有幾種不同的方式來得到這個工作,只是混淆了哪個是最好的。
這裏是我的組件:提前
import { Component, OnInit } from '@angular/core'
import { SkillsService } from './skills.service'
@Component({
selector: 'skills',
template: `
<section class="skills">
<div *ngFor="let skill of skillsService.skills$ | async">
<div class="skills__bar" [style.width]="skill.percentage + '%'">
<h3 class="skills__title">{{skill.title}}</h3>
</div>
</div>
</section>
`,
})
export class SkillsComponent implements OnInit {
constructor(private skillsService: SkillsService) {}
ngOnInit() {
this.skillsService.fetchSkills()
}
}
謝謝大家!
嘿,瑞奇!非常感謝您花時間回答。雖然這是一種用CSS解決百分比問題的方法,但實際上我可能會將這種方法用於樣式本身,但它並不能解決最緊迫的問題,即處理異步數據。異步管道處理響應(這是非常小的,因此很快),我立即看到綠色部分,沒有動畫。所以我幾乎在同一個地方,看到了最終的結果,而不是動畫到達那裏...... – deathandtaxes