I am using AngularJS and I use ng-repeat
to loop and show the details in the page.
我正在使用AngularJS,我使用ng-repeat循环并在页面中显示详细信息。
Is there a possibility to change the font color based on the value?
是否有可能根据值更改字体颜色?
<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)
Here s.state
value can be Error, Warning or Ignored
Can I show different font colors for these states via angular or css?
这里s.state值可以是Error,Warning或Ignored我可以通过angular或css显示这些状态的不同字体颜色吗?
4 个解决方案
#1
15
You can achieve this with following code:
您可以使用以下代码实现此目的:
<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>
Where 'color-red', 'color-blue', 'color-green'
are your css classes.
'color-red','color-blue','color-green'是你的css课程。
See it in plunker.
在plunker中看到它。
Check documentation about ng-class.
检查有关ng-class的文档。
#2
4
You can do it very easily by ng-class
and css.
您可以通过ng-class和css轻松完成。
CSS code
CSS代码
.Error{color: red;}
.Warning{color: blue;}
.Ignored{color: green;}
Html code
Html代码
<li ng-repeat="s in vm.States" >
<span>{{s.Name}}</span>
<span ng-class="s.state">{{s.state}}</span>
</li>
#3
4
It might be worth also taking a look over ngStyle which is the same as ngClass but provides conditional inline syling such as
值得一看的是ngStyle与ngClass相同,但提供条件内联syling,如
<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>
#4
1
See this example
看这个例子
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>
#1
15
You can achieve this with following code:
您可以使用以下代码实现此目的:
<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>
Where 'color-red', 'color-blue', 'color-green'
are your css classes.
'color-red','color-blue','color-green'是你的css课程。
See it in plunker.
在plunker中看到它。
Check documentation about ng-class.
检查有关ng-class的文档。
#2
4
You can do it very easily by ng-class
and css.
您可以通过ng-class和css轻松完成。
CSS code
CSS代码
.Error{color: red;}
.Warning{color: blue;}
.Ignored{color: green;}
Html code
Html代码
<li ng-repeat="s in vm.States" >
<span>{{s.Name}}</span>
<span ng-class="s.state">{{s.state}}</span>
</li>
#3
4
It might be worth also taking a look over ngStyle which is the same as ngClass but provides conditional inline syling such as
值得一看的是ngStyle与ngClass相同,但提供条件内联syling,如
<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>
#4
1
See this example
看这个例子
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>