2016-05-11 3 views
0

Ich habe diese Liste, und ich möchte eine Summe der Daten Teil jeder Elemente erstellen und diese in der Ansicht anzeigen.Wie kann ich eine Liste von Daten für die Anzeige in der Ansicht in eckigen verarbeiten?

 //this data  
     var list=[{ 
       id:1, 
       data:[ 
        {name:'item 1',qty:100,price:1}, 
        {name:'item 2',qty:150,price:1.5} 
       ] 
      },{ 
       id:2, 


    data:[ 
       {name:'item 1',qty:100,price:1}, 
       {name:'item 2',qty:150,price:1.5} 
      ] 
      }] 

// diese Summe Spaß

function countmoney(l){ 
      count_listmoney=0; 
      for(i=0;i<l.data.length;i++){ 
       count_listmoney+=l.data[i].price*l.data[i].qty 
      } 
      return count_listmoney 
     } 

HTML

<div id="viewtable"> 
      <div ng-repeat="l in list"> 
<!--Is there an alternative better way?--> 
       <div>{{countmoney(l)}}</div> 
      </div> 
     </div> 

Gibt es einen besseren Weg, um eine Funktion aus der Sicht wie dies als Aufruf?

Antwort

0

Verarbeiten Sie Ihre Daten zuerst, zeigen Sie sie dann in der Ansicht:

// ideally in a service 
var sums = [] 

for (var i=0; i < list.length; i++) { 
    sums.push(countmoney(list[i])) 
} 

// controller 
$scope.sums = sums; // better: $scope.sums = dataService.getSums() 

HTML

<div id="viewtable"> 
    <div ng-repeat="sum in sums"> 
     <div>{{sum}}</div> 
    </div> 
</div> 
0

einfache Weise

<div id="viewtable"> 
    <div ng-repeat="l in list"> 
      Sum : {{l.price*l.qty}} 
    </div> 
</div> 
Verwandte Themen