2017-02-17 50 views
4

我試圖在組件的參數更改時觸發動畫,但只能使組件首次被路由到的動畫執行。隨後使用不同參數導航到該組件的所有後續操作都不會觸發動畫。例如,參數更改時在組件上觸發動畫

參見this plunker

當從

/home 

導航到

/home/animated/1 

動畫正在執行。如果只有ID改變,例如

/home/animated/2 

什麼也沒有發生。我錯過了什麼或者這是什麼意圖?

+1

它的任何更新? –

回答

0

我也碰到了這個問題,如果有人知道爲什麼,請幫助 - 我的解決辦法:

我有一個轉盤,通過幻燈片自動路由:

Component.HTML: 我不得不換行在動畫

<div [@slideInOutAnimation]='mainState'></div> 

的路由組件的DIV然後改變狀態,當它改變狀態恢復,以便它可以爲下一張幻燈片再次運行前路由到一個新的ID和延遲。

Component.TS:

this.mainState = 'enter'; 
var delayAnim = setTimeout(() => { 
this.mainState = 'new'; 
},3000) 

這裏是動畫的部分原因是使用 Animation.TS:

trigger('slideInOutAnimation', [ 

    state('new', style({ 
     ... 
    })), 

    transition('* => enter', [ 
    ...style...animate... 
    ]) 

這種方式,路由到一個新的ID,當它改變了狀態'進入'讓動畫運行,然後將狀態改回'新',所以下一條路線可以再次運行動畫。家/組件/ 1 =>家庭組件/ 2等