Angular2 - 根据值为元素设置不同的颜色

mur*_*983 8 angular2-forms angular2-template angular

我是新手,Angular2我想知道如何根据值设置字体颜色.

我的情况是:如果输入字段的值不是100,那么我想要它是红色但如果它是100那么我想要它为绿色.

我有以下代码,但无法使其工作.

XXX.component.css

.red {
    color: red; 
}

.green {
    color: green;
}
Run Code Online (Sandbox Code Playgroud)

XXX.component.css

<input mdInput placeholder="Proportion '%'" [(ngModel)]="proportion ">
<p>hello <span ng-class='{red : proportion!= '100', green: proportion === '100'}'>{{proportion}}</span></p>
Run Code Online (Sandbox Code Playgroud)

may*_*yur 17

有两种解决方案可以更改字体颜色,但取决于您的要求

  1. 如果您的要求是更改内联样式,那么您可以使用NgStyle为您更新HTML元素样式的angular Directive.

NgStyle directive Ex:

<span [ngStyle]="{'color': proportion === '100' ? 'green' : 'red'}"></span>

        ---------------------- OR -----------------------------------

<span [style.color]="proportion === '100' ? 'green' : 'red'"></span>
Run Code Online (Sandbox Code Playgroud)
  1. 如果您的要求是更改类,那么您可以使用angular NgClassDirective,它在HTML元素上添加和删除CSS类...

NgClass directive Ex:

<span [ngClass]="{proportion === '100' ? 'green': 'red'}"></span>
Run Code Online (Sandbox Code Playgroud)