2017-06-20 91 views
0

我正試圖創建一個圓圈的動畫,這個圓圈在兩個步驟中生長,然後收縮。角度動畫的動態變化時機

我想允許用戶更改每一步所需的時間。我正在使用Angular和新的AnimationBuilder類來嘗試並分配新的動畫時間..但沒有vail。看起來,動畫觸發器的第一個定義不會改變。

我試圖重新創建動畫建設者動畫觸發,並將其分配給circle..but它似乎並沒有工作

您可以檢查this plunker代碼的工作示例

const myAnimation = this.animBuilder.build(
    [ 
    transition('inactive => firstStep', animate(this.timingBounds.lower)), 
    transition('firstStep => secondStep', animate(this.timingBounds.upper - 
     this.timingBounds.lower)), 
    transition('secondStep => inactive', animate(this.timingTotal - 
     this.timingBounds.upper)) 
    ] 
); 

this.currentAnimationPlayer = myAnimation.create(this.circle.nativeElement); 

我在做一件非常錯誤的事情嗎?你們認爲這甚至有可能嗎?

謝謝!

+0

你能爲你的情況提供一個plunkr嗎?這段代碼之後是否調用'this.currentAnimationPlayer.play()'? –

+0

我提供了一個plunkr。動畫使用觸發器,因此它應根據觸發變量的值播放動畫的不同部分。 –

回答

0

最後,我所做的是放棄動畫系統,並通過使用requestAnimationFrame函數並相應地修改圓來爲其自己製作動畫。

+1

你能舉一個例子來澄清這個答案嗎? –