2017-12-27 415 views
0

这是行不通的,我不知道如果它是一个语法问题的地方。我的纳税风格与过滤器不工作

即使滤镜返回一个正数,我总是会得到颜色素描。

<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

what'{{termsList | totalDeviationByKey:'oldspnd':'spend':'optspnd'| number:2}}'prints? –

+0

@Sachila Ranawaka检查编辑。 –

回答

1

除去双大括号,使用单大括号和改变三元操作如下。

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

这工作,谢谢,ng样式需要一个奇怪的语法,所以我应该总是以“{'css属性':.... etc}? –

+0

yup。这是最好的方法 –