私はAngular2
そして、値に応じて要素にフォントの色を設定する方法について考えていました。
私のシナリオは、入力フィールドの値が100でない場合は赤にしたいのですが、100の場合は緑にしたいということです。
次のコードを用意していますが、機能しません。
XXX.component.css
.red {
color: red;
}
.green {
color: green;
}
XXX.component.css
<input mdInput placeholder="Proportion '%'" [(ngModel)]="proportion ">
<p>hello <span ng-class='{red : proportion!= '100', green: proportion === '100'}'>{{proportion}}</span></p>
フォントの色を変更するには2つのソリューションがありますが、要件によって異なります
NgStyle
ディレクティブを使用できます。NgStyle directive Ex:
<span [ngStyle]="{'color': proportion === '100' ? 'green' : 'red'}"></span>
---------------------- OR -----------------------------------
<span [style.color]="proportion === '100' ? 'green' : 'red'"></span>
NgClass
ディレクティブを使用して、HTML要素のCSSクラスを追加および削除できます...NgClass directive Ex:
<span [ngClass]="{proportion === '100' ? 'green': 'red'}"></span>
スタイルプロパティをバインドすることもできます。
<span [style.color]="proportion === '100' ? 'green' : 'red'"></span>
次のように使用できます。
<div class="card template-card" [ngClass]="{'z-depth-3': template == selectedTemplate, 'not-selected': !(template == selectedTemplate) && selectedTemplate != null}">
Angular2
を使用しているため、[ngClass]
を使用する必要があり、入力モデルはproportion
にバインドされているため、比較に使用します。
次のようにします:
<input mdInput placeholder="Proportion '%'" [(ngModel)]="proportion">
<p>hello <span [ngClass]="{'red': proportion !== '100', 'green': proportion === '100'}">{{username}}</span></p>
二重引用符とngModel 割合値を持つようにロジックを変更する必要があります
<input mdInput placeholder="Proportion '%'" [(ngModel)]="proportion">
<p>hello <span [ngClass]="{red : proportion != '100', green: proportion === '100'}">{{username}}</span></p>
それが役に立てば幸い!!