我的ng-style with filter不起作用

时间:2017-12-27 17:54:05

标签: angularjs

这不起作用,我不知道它是否是某处的语法问题。

即使过滤器返回正数,我也总是得到颜色素描。

  <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;


    }
});

1 个答案:

答案 0 :(得分:1)

删除双花括号,使用单花括号并更改三元操作,如下所示。

 ng-style = "{'color': ((termsList|totalDeviationByKey:'oldspnd':'spend':'optspnd')> 0)? 'black' : 'bisque'}"