2016-12-09 5 views
0

Ich muss eine gesamte IR für jede Zelle Zelle zurückgeben. Das funktioniert nicht Und ich bin mir nicht sicher warum. WieSo geben Sie insgesamt an Tag angular JS aus Controller

$scope.getTotalb = function() { 
     var totalb = 0; 

     for (var i = 0; i < $scope.items.length; i++) { 
      if (120 > $scope.items[i].product && $scope.items[i].product> 90) { 
       var product = $scope.items[i].IR; 
       totalb += ($scope.items[i].IR); 
      } 
      return totalb; 
     } 
    } 
    $scope.getTotalc = function() { 
     var totalc = 0; 

     for (var i = 0; i < $scope.items.length; i++) { 
      if (90 > $scope.items[i].product&& $scope.items[i].product> 60) { 
       var product = $scope.items[i].IR; 
       totalc += ($scope.items[i].IR); 
      } 
      return totalc; 
     } 
    } 

Für jede Tabelle Datenzelle, rufen Sie die Funktion, um insgesamt zu erhalten.

<td><b>Total:</b></td> 
      <td><b>{{Totala()}}</b></td> 
      <td><b></b>{{Totalb()}}</td> 

Antwort

1

Es gibt mehrere Fehler im Code.

Zuerst sollten Sie die return Anweisung am Ende Ihrer Funktion statt innerhalb Ihrer for Schleife setzen.

Zweitens sind die Namen der Funktionen in Ihrer Vorlage unterschiedlich. In Ihrem Controller verwenden Sie getTotalb, aber in der Vorlage verwenden Sie Totalb.

1

Sie sollten

außerhalb der for-Schleife Ihre return-Anweisung setzen
+0

Das hat keinen Unterschied gemacht – user2708073

0

Entfernen Sie die "Rückkehr ...." aus Ihren 2 "für" Schleifen und machen Sie Ihre Summen über das Oszilloskop verfügbar.

$scope.getTotalb = function() { 
    var totalb = 0; 

    for (var i = 0; i < $scope.items.length; i++) { 
     if (120 > $scope.items[i].product && $scope.items[i].product> 90) { 
      var product = $scope.items[i].IR; 
      totalb += ($scope.items[i].IR); 
     } 

    } 
    $scope.totalb=totalb ; 

} 
$scope.getTotalc = function() { 
    var totalc = 0; 

    for (var i = 0; i < $scope.items.length; i++) { 
     if (90 > $scope.items[i].product&& $scope.items[i].product> 60) { 
      var product = $scope.items[i].IR; 
      totalc += ($scope.items[i].IR); 
     } 

    } 
    $scope.totalc=totalc ; 
} 
Verwandte Themen