2016-10-15 3 views
18

擬似要素:beforeに対して、Angular2アニメーションシステムを使用しようとしています。アニメーションフローごととして、私はアニメーションの状態を定義する必要があります。その後、Angular2は擬似要素にアニメーションをバインドします

animations: [ 
trigger('heroState', [ 
    state('inactive', style({ 
    backgroundColor: '#eee', 
    transform: 'scale(1)' 
    })), 
    state('active', style({ 
    backgroundColor: '#cfd8dc', 
    transform: 'scale(1.1)' 
    })), 
    transition('inactive => active', animate('100ms ease-in')), 
    transition('active => inactive', animate('100ms ease-out')) 
])] 

と、次のように、DOM要素にアタッチ:

<ul> 
<li *ngFor="let hero of heroes" 
    [@heroState]="hero.state" 
    (click)="hero.toggleState()"> 
    {{hero.name}} 
</li> 

しかし、私はこれを添付する擬似before要素。どうやってやるの?

+0

について

もっと私は不思議だCSS場合::あなたは[ngClass]ここあたりで行うことができます何かアール前後と:::実際https://cssanimation.rocks/pseudo-elements/疑似要素を挿入すると、それがうまくいくかどうか疑問に思う。角度のあるアニメーションと組み合わせることはできますが、考えはありません。いい質問。 – JGFMK

+0

私の知る限り、この機能は利用できません。これには機能要求があります。 https://github.com/angular/angular/issues/10196 しかし、あなたは擬似のために行くのではなく、スパンのような要素を加えることでこれを達成することができます。私はあなたの要件が偽の要素を介しているが、それが存在しないためです。 – rajesh

答えて

1

これを試してみてください。これはあなたのために働く

<style> 
h1::before { 
    content: url(animation.html); 
} 
</style> 

animation.htmlファイル

<ul> 
<li *ngFor="let hero of heroes" 
    [@heroState]="hero.state" 
    (click)="hero.toggleState()"> 
    {{hero.name}} 
</li> 

希望。このUsing Javascript in CSS