2015-05-09 3 views
0

Здравствуйте, я хочу, чтобы иметь возможность вычислять некоторые числа внутри контроллера, содержащего элементы. Это то, что попробовали (ионную APP тоже кстати):AngularJs- Расчет внутри контроллера

.controller('tasksCtrl', function($scope) { 
    $scope.tasksCollection = [ 
    { info: 'Go studying', measured: 'no', total: 1, done: 1, id: 1 }, 
    { info: 'Go to the beach', measured: 'no', total: 1, done: 1, id: 2}, 
    { info: 'Run', measured: 'yes', total: 30, done: 15, id: 3} 
    ]; 

    $scope.calculateProductivity = function(){ 
    var total = 0; 
    for(var i = 0; i < $scope.tasksCollection.length; i++){ 
     var product = $scope.tasksCollection[i]; 
     total += (tasksCollection.done/tasksCollection.total); 
     } 
     return total; 
    }; 
}) 

и страница:

<div class="item tabs tabs-secondary tabs-icon-left"> 
      <div ng-app="starter" ng-controller="tasksCtrl" class="tab-item tab-main-left"> 
      <span class="title-red"> {{ calculateProductivity() }} </span><span class="medium-text">Productivity Ratio</span> 
      </div> 
      <div class="tab-item tab-main-right"> 
      <span class="title-red">20 </span><span class="medium-text">PMoney</span> 
      </div> 

     </div> 

На выходе я вижу только "{{calculateProductivity()}}", а не результат , но если я напишу taskCollection.info, он будет правильно отображаться. спасибо!

ответ

1

вы подсчитывают общее как:

total += (tasksCollection.done/tasksCollection.total); 

и, вероятно, следует:

total += (product.done/product.total); 
+0

Вы были правы! благодаря! –

0
PLease see this: http://stackoverflow.com/questions/20942878/angularjs-use-a-function-in-a-controller-to-return-data-from-a-service-to-be-use 

The following changes should work: 

<span class="title-red"> {{ productivity_ratio }} </span><span class="medium-text">Productivity Ratio</span> 

for(var i = 0; i < $scope.tasksCollection.length; i++){ 
     var product = $scope.tasksCollection[i]; 
     total += (tasksCollection.done/tasksCollection.total); 
    } 
$scope.productivity_ratio = total; 
+0

Спасибо за ввод. У меня возникла проблема с поиском проблемы. –

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