条件に基づいてスタイルを設定するdivがあります。
StyleOneがtrueの場合、背景色を赤にする必要があります。 StyleTwoがtrueの場合、背景色を青にしたいです。私はその半分を以下のコードで動作させています。
<div id="myDiv" [ngStyle]="styleOne && {'background-color': 'red'}">
次の条件を追加することは可能ですか?
編集
私はそれを解決したと思います。できます。それが最善の方法であるかどうかはわかりません:
<div id="div" [ngStyle]="styleOne && {'background-color': 'red'} || styleTwo && {'background-color': 'blue'}">
単一のスタイル属性の場合、次の構文を使用できます。
<div [style.background-color]="style1 ? 'red' : (style2 ? 'blue' : null)">
style1
もstyle2
もtrue
でもない場合、背景色を設定すべきではないと想定しました。
質問のタイトルにはngStyle
が記載されているため、そのディレクティブと同等の構文を次に示します。
<div [ngStyle]="{'background-color': style1 ? 'red' : (style2 ? 'blue' : null) }">
NgStyle内でインラインを使用できます:
[ngStyle]="styleOne?{'background-color': 'red'} : {'background-color': 'blue'}"
私の意見では、打者の方法は、変数内に背景色を保存し、変数値として背景色を設定することです:
[style.background-color]="myColorVaraible"
[ngStyle]="{'opacity': is_mail_sent ? '0.5' : '1' }"