2017-12-15 14 views
0

私は、背景/境界線の色を変更するいくつかのアニメーションを備えたangular5アプリケーションを持っています。たとえば:角度 - 色やスタイルをプログラムで参照することは可能ですか?

const blueStyle = style({background: "#0099ff", "border-color": "#0099ff"}); 
@Component({ 
animations: [ 
    trigger("animateOut", [state("true", blueStyle)]) 
] 
...}) 
export class MyComponent {...} 

色が変数としての私のSASSで定義されているので、私はそれらを参照するにはどのような方法があった場合不思議、代わりにここでそれらをハードコーディングされましたか?

+1

CSSクラスを使用できませんか?あなたのSASS変数が適用されます – Yani

+0

角アニメーションのクラスを変更するにはどうすればよいですか?クラスを使うのは一番良いアプローチのようですが、アニメーションでどのように要素クラスを変更できるのか分かりません。 – Jordan0Day

答えて

1

はい!

あなたが行うことができますいくつかの方法があります。その

[スタイル]あなたのようなCSSプロパティを変更することができ、それを通して属性ディレクティブは

あり、以下の

// component html 
[style.color]="yourColorValue" 

// component class ts 
yourColorValue = 'red'; 

[クラス]

あなたは条件を定義することもできますあなたはそれらを変えることができます。複数のプロパティを持つことができるクラスとして複数のプロプラチを扱うことができます

// component html 
[ngClass]="isSomeCondition(frmt)? 'recommended' : 'normal'" 

// component css/scss file 
recommended: { 
    color: 'red'; 
} 
normal: { 
    color: 'blue'; 
} 
+0

クラスの使用は確かに理にかなっていますが、どのようにアニメーション化できるかはわかりません。たとえば、要素が赤と青の間で点滅するアニメーションが必要だったとします。上記のように2つのクラスを定義できますが、@ angular/animationsにはAnimationStyleMetadataを作成するためのインターフェイスがあり、個々のスタイルプロパティを変更することができますが、別のクラスに変更する方法はありません。 – Jordan0Day

関連する問題