Ich bin neu bei Angular2
und habe mich gefragt, wie ich eine Schriftfarbe auf ein Element setze, abhängig vom Wert.
Mein Szenario ist: Wenn der Wert des Eingabefeldes nicht 100 ist, dann möchte ich es rot, aber wenn es 100 ist, dann möchte ich es grün.
Ich habe den folgenden Code installiert, kann ihn aber nicht zum Laufen bringen.
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>
Es gibt zwei Lösungen zum Ändern der Schriftfarbe, hängt jedoch von Ihrer Anforderung ab
NgStyle
Direktive verwenden, die HTML-Elementstile für Sie aktualisiert.NgStyle directive Ex:
<span [ngStyle]="{'color': proportion === '100' ? 'green' : 'red'}"></span>
---------------------- OR -----------------------------------
<span [style.color]="proportion === '100' ? 'green' : 'red'"></span>
NgClass
Direktive verwenden, die CSS-Klassen zu einem HTML-Element hinzufügt und entfernt.NgClass directive Ex:
<span [ngClass]="{proportion === '100' ? 'green': 'red'}"></span>
Sie können die style -Eigenschaft auch binden.
<span [style.color]="proportion === '100' ? 'green' : 'red'"></span>
Sie können es so verwenden:
<div class="card template-card" [ngClass]="{'z-depth-3': template == selectedTemplate, 'not-selected': !(template == selectedTemplate) && selectedTemplate != null}">
Da Sie Angular2
verwenden, müssen Sie [ngClass]
verwenden, und Ihr Eingabemodell ist an proportion
gebunden. Verwenden Sie es daher zum Vergleichen.
Mach es wie:
<input mdInput placeholder="Proportion '%'" [(ngModel)]="proportion">
<p>hello <span [ngClass]="{'red': proportion !== '100', 'green': proportion === '100'}">{{username}}</span></p>
Sie müssen Ihre Logik ändern, um doppelte Anführungszeichen und ngModel proportion value zu verwenden
<input mdInput placeholder="Proportion '%'" [(ngModel)]="proportion">
<p>hello <span [ngClass]="{red : proportion != '100', green: proportion === '100'}">{{username}}</span></p>
Ich hoffe es hilft!!