I am new to Angular2
and was wondering how I go about setting a font color to an element depending on the value.
My scenario is: if the value of the inp
Since you use Angular2
, So you need to use [ngClass]
, and your input model is bind to proportion
, So use it to compare,
Do it like :
<input mdInput placeholder="Proportion '%'" [(ngModel)]="proportion">
<p>hello <span [ngClass]="{'red': proportion !== '100', 'green': proportion === '100'}">{{username}}</span></p>
You can also bind the style property.
<span [style.color]="proportion === '100' ? 'green' : 'red'"></span>
You can use it like this:
<div class="card template-card" [ngClass]="{'z-depth-3': template == selectedTemplate, 'not-selected': !(template == selectedTemplate) && selectedTemplate != null}">
You need to modify your logic to have double quotes and ngModel proportion value
<input mdInput placeholder="Proportion '%'" [(ngModel)]="proportion">
<p>hello <span [ngClass]="{red : proportion != '100', green: proportion === '100'}">{{username}}</span></p>
Hope it helps!!
There are two solutions to change font color but depends on you requirement
NgStyle
Directive which Update an HTML element styles for you..NgStyle directive Ex:
<span [ngStyle]="{'color': proportion === '100' ? 'green' : 'red'}"></span>
---------------------- OR -----------------------------------
<span [style.color]="proportion === '100' ? 'green' : 'red'"></span>
NgClass
Directive which Adds and removes CSS classes on an HTML element...NgClass directive Ex:
<span [ngClass]="{proportion === '100' ? 'green': 'red'}"></span>