2016-01-25 2 views
1

Я работаю с Угловым, и я пытаюсь сделать этоУгловая, математическая функция интерполяции/связывание

<td>{{(obj.revenue.total/obj.clicks.total).toFixed(2)}}</td> 

и в таблице результат что-то вроде этого

**EPC** 0.60 NaN // returns this, why ?

I подготовил JSFiddle, где вы увидите это

<table> 
    <tr> 
    <th ng-repeat='header in headers'>{{header}}</th> 
    </tr> 
    <tr ng-repeat='obj in data'> 
    <td></td> 
    <td>{{obj.clicks.total.toFixed(2)}}</td> 
    <td>{{obj.landing_pages.total_clicks.toFixed(2)}}</td> 
    <td>{{obj.landing_pages.click_through_rate.toFixed(2)}}</td> 
    <td>{{obj.conversions.total.toFixed(2)}}</td> 
    <td>{{(obj.conversions.total/obj.landing_pages.total_clicks)}}</td> 
    <td>{{obj.conversions.amount.toFixed(2)}}</td> 
    <td>{{obj.cost.total.toFixed(2)}}</td> 
    <td>{{(ob.conversions.amount - obj.cost.total).toFixed(2)}}</td> 
    <td>{{obj.net.roi.toFixed(2)}}</td> 
    <td>{{obj.cost.cpc}}</td> 
    <td>{{(obj.revenue.total/obj.clicks.total).toFixed(2)}}</td> 
    <td>{{obj.cost.ecpc.toFixed(2)}}</td> 
    </tr> 
</table> 

и cont Ролик

.controller('PeopleCtrl', function($scope) { 
    $scope.headers = [ 
    'Traffic Source', 
    'Clicks', 
    'LP Clicks', 
    'LP CTR', 
    'Conv', 
    'CVR', 
    'Rev', 
    'Spend', 
    'Profit', 
    'ROI', 
    'CPC', 
    'EPC', 
    'EPA' 
    ]; 

    $scope.data = []; 

    $scope.LoadMyJson = function() { 
    angular.forEach(myJson, function(items) { 
     $scope.data.push(items) 
    })   
    }; 
    $scope.LoadMyJson(); 

}) 

http://jsfiddle.net/x5hfwdfs/

см td s CVR, прибыль и EPC, являются те, где мне нужно вычислить.

У вас, ребята, есть идея?

+0

Вы, вероятно, следует проверить, что свойства существуют и имеют типы значений, которые вы ожидаете, прежде чем они идут в точку зрения. – elclanrs

+0

Вы можете использовать фильтр: fractionSize: 2 – juvian

+0

@elclanrs вы можете дать мне кусок кода? все они ожидают быть числами, кроме «заголовка» «Источник трафика», который является именем. – TheUnnamed

ответ

1

Вы можете использовать fractionSize фильтр:

<td>{{obj.clicks.total | fractionSize: 2}}</td> 

Вы можете увидеть пример здесь:

https://docs.angularjs.org/api/ng/filter/number

+0

Хорошо, это исправить, но у меня что-то не так, http://jsfiddle.net/kvat53Lv/, посмотрите на 'Profit', есть 0.00 ниже первой строки, почему? – TheUnnamed

+0

У вас есть дополнительная строка в ваших данных. Он производит 3 строки, а не два, как ожидалось. – tanenbring

+0

@tanenbring где вы видите, что 3-я строка ??? – TheUnnamed

Смежные вопросы