2017-05-22 2 views
2

:enterコンポーネントが最初にレンダリングされるときに、要素にアニメーションが適用されます。それを防ぐ方法はありますか? widthアニメーションの簡単な例について角。初期レンダリング時にアニメーションを入力するのをスキップする方法はありますか?

チェックthis plunker

transition(':enter', [ 
    style({width: 0}), 
    animate(250, style({width: '*'})), 
]), 
+0

これを試してください:https://stackoverflow.com/a/46186537/5155810 –

答えて

0

そのためvoid状態があります。基本的にnullの状態を表します。このようになります。実際には

、:要素ない時はいつでも任意の状態にまだ状態、および遷移を持っていることを

trigger('myState', [ 
    state('previous', style({ transform: 'translateX(-100%)' })), 
    state('current', style({ transform: 'translateX(0)' })), 
    state('next', style({ transform: 'translateX(100%)' })), 
    transition('void => *', animate(0)), // <-- This is the relevant bit 
    transition('* => *', animate('250ms ease-in-out')) 
]) 

これが意味することは、それはいけませんアニメーション化する。

だから、あなたのケースでは、このように書くことができます:

transition('void => :enter', animate(0)) 

私はそれが理にかなって願っています。

+1

このソリューションを試しましたか?プランカを試してみてください。まず ':enter'は' void => * 'のショートカットですので、' void =>:enter'には意味がありません。第2に、私はすでにコンポーネントに ':enter'アニメーションを使用しています。これは問題の根源です。なぜなら、最初の描画でも入力がアニメーション化されるからです。 –

+0

'ERROR:提供された遷移式" void =>:enter "はサポートされていません – nest

関連する問題