我正在尝试使用ng样式根据数据元素的值有条件地设置表中数据元素的颜色。每一行数据都是使用ng repeat生成的。
所以我有一些类似的东西:
<tr ng-repeat="payment in payments">
<td ng-style="set_color({{payment}})">{{payment.number}}</td>在我的控制器中有一个函数,它做类似这样的事情:
$scope.set_color = function (payment) {
if (payment.number > 50) {
return '{color: red}'
}
}我已经尝试了几种不同的方法。甚至在payment对象中将颜色设置为数据属性,但是我似乎不能使用ng样式来处理数据绑定中的数据,有谁知道我可以做到这一点的方法吗?谢谢。
发布于 2013-04-20 03:30:01
不要在Angular expression中使用{{}}
<td ng-style="set_color(payment)">{{payment.number}}</td>从函数中返回一个对象,而不是一个字符串:
$scope.set_color = function (payment) {
if (payment.number > 50) {
return { color: "red" }
}
}Fiddle
发布于 2014-09-03 19:07:46
使用此代码
<td style="color:{{payment.number>50?'red':'blue'}}">{{payment.number}}</td>或
<td ng-style="{'color':(payment.number>50?'red':'blue')}">{{payment.number}}</td>蓝色为例
发布于 2015-05-21 14:59:46
这可能会对你有帮助!
<!DOCTYPE html>
<html>
<head>
<style>
.yelloColor {
background-color: gray;
}
.meterColor {
background-color: green;
}
</style>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js"></script>
<script>
var app = angular.module('ngStyleApp', []);
app.controller('ngStyleCtrl', function($scope) {
$scope.bar = "48%";
});
</script>
</head>
<body ng-app="ngStyleApp" ng-controller="ngStyleCtrl">
<div class="yelloColor">
<div class="meterColor" ng-style="{'width':bar}">
<h4> {{bar}} DATA USED OF 100%</h4>
</div>
</div>
</body>
</html>https://stackoverflow.com/questions/16111994
复制相似问题