2016-12-09 5 views
0

各テーブルセルに合計IRを返す必要があります。これは機能していないと私はなぜわからない。方法合計を返す方法​​コントローラからタグ角度JSを入力

$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; 
     } 
    } 

各テーブルデータセルについて、合計を取得する関数を呼び出します。

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

答えて

1

forループの外であなたのreturn文を置く必要があります。

まず、forループ内ではなく、関数の最後にreturnステートメントを挿入する必要があります。

第2に、テンプレートの機能の名前が異なります。あなたのコントローラーではgetTotalbを使用しますが、テンプレートではTotalbを使用します。

1

あなたはあなたのコード内で複数のエラーがあります

+0

違いがありません – user2708073

0

あなたの2 "for"ループから "return ...."を削除し、スコープで合計を利用できるようにします。

$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 ; 
} 
関連する問題