2017-12-27 890 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。這是最好的方法 –