根据值角度js更改字体颜色

Posted

技术标签:

【中文标题】根据值角度js更改字体颜色【英文标题】:change the font color based on value angular js 【发布时间】:2015-07-26 11:03:49 【问题描述】:

我正在使用 AngularJS,我使用 ng-repeat 循环并在页面中显示详细信息。

是否可以根据值更改字体颜色?

<li ng-repeat="s in vm.States" >                        
  <span>s.Name</span>
  <span>s.state</span>
 </li>

Test1 -Error(Red)
Test2 - Warning(blue)
Test3 - Ignored(green)

此处s.state 的值可以是错误、警告或忽略 我可以通过 angular 或 css 为这些状态显示不同的字体颜色吗?

【问题讨论】:

检查ng-classng-style 【参考方案1】:

您可以使用以下代码实现此目的:

<li ng-repeat="s in vm.States" >                        
  <span>s.Name</span>
  <span ng-class="'color-red': s.state === 'Error', 'color-blue': s.state === 'Warning', 'color-green': s.state === 'Ignored'">s.state</span>
</li>

'color-red', 'color-blue', 'color-green' 是您的 css 类。

查看plunker。

Check documentation about ng-class.

【讨论】:

这就是我要找的,谢谢【参考方案2】:

可能还值得一看 ngStyle,它与 ngClass 相同,但提供了条件内联样式,例如

<li ng-repeat="s in vm.States" >                        
  <span>s.Name</span>
  <span ng-style="'color: red': s.state === 'Error', 'color: blue': s.state === 'Warning', 'color: green': s.state === 'Ignored'">s.state</span>
</li>

【讨论】:

【参考方案3】:

看这个例子

var myApp = angular.module('myapp',[]);

myApp
    .controller('MyCtrl1', function ($scope) 
        $scope.vm = 
            States: [
                
                    Name: 'Error',
                    state: 'error',
                    color: 'red'
                ,
                
                    Name: 'Warning',
                    state: 'warning',
                    color: 'blue'
                ,
                
                    Name: 'Ignored',
                    state: 'ignored',
                    color: 'green'
                
            ]
        ;
    )
.red
    color: red;


.blue
    color: blue;   


.green
    color: green;
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

<div ng-app="myapp">
    <div ng-controller="MyCtrl1">
        <li ng-repeat="s in vm.States" >                        
          <span ng-class="s.color">s.Name</span> - 
          <span ng-class="s.color">s.state</span>
         </li>
    </div>
 </div>

【讨论】:

【参考方案4】:

您可以通过ng-class 和 css 轻松完成。

CSS 代码

.Errorcolor: red;
.Warningcolor: blue;
.Ignoredcolor: green;

html代码

<li ng-repeat="s in vm.States" >                        
  <span>s.Name</span>
  <span ng-class="s.state">s.state</span>
</li>

【讨论】:

以上是关于根据值角度js更改字体颜色的主要内容,如果未能解决你的问题,请参考以下文章

动态更改表格中的行字体颜色

手机字体颜色怎么更改?

无法使用 FTGL 更改字体颜色

jquery改变字体颜色

更改字符串值的字体颜色

更改一个堆叠条的字体颜色