这不起作用,我不知道它是否是某处的语法问题。
即使过滤器返回正数,我也总是得到颜色素描。
<td class="calculatedCol" ng-style= "({{termsList|totalDeviationByKey:'oldspnd':'spend':'optspnd'}})> 0 ? {'color': 'black'} : {'color': 'bisque'}" >
{{termsList|totalDeviationByKey:'oldspnd':'spend':'optspnd' |number:2 }}%</td>
js文件中的过滤器是:
app.filter('totalDeviationByKey', function () {
return function (data, key1, key2,key3) {
if (typeof (data) === 'undefined' || typeof (key1) === 'undefined' || typeof (key2) === 'undefined') {
return 0;
}
var sum1 = 0;
var sum2 = 0;
var sum3 = 0;
for (var i = data.length - 1; i >= 0; i--) {
sum1 += parseInt(data[i][key1]);
sum2 += parseInt(data[i][key2]);
sum3 += parseInt(data[i][key3]);
}
var A = sum1/sum2;
var B = sum3/sum2;
return ((A-B)/A)*100;
}
});
答案 0 :(得分:1)
删除双花括号,使用单花括号并更改三元操作,如下所示。
ng-style = "{'color': ((termsList|totalDeviationByKey:'oldspnd':'spend':'optspnd')> 0)? 'black' : 'bisque'}"