Saturday 15 May 2010

angularjs - Nested ng repeat failure in angular js -



angularjs - Nested ng repeat failure in angular js -

try nest ng-repeat, parent ng-repeat works not kid 1.created object , insert info when app init 2.display info calling ng-repeat

angular.module('lipapp', []).controller('lipapp_module_control', function ($scope, $http, $window) { $scope.compaignbasket = []; $scope.compaignbaskettotal = 0; $scope.compaignbasketcausetotal = []; //sample info section, real info plz go $scope.updatecompaign function $scope.initialcompaignbasket = function () { $scope.compaignbasket = []; var causeamount = []; var causeitem = 0; var donordetail = {}; donordetail.date = '2/14/13'; donordetail.donor = 'george smith'; donordetail.city = 'los angelos'; donordetail.state = 'ca'; donordetail.total = 400; causeamount = []; //forloop dynamic insert! causeamount.push(10); causeamount.push(0); causeamount.push(500); causeamount.push(0); causeamount.push(1000); causeamount.push(0); //causeitem = 0;causeamount.push(causeitem); or should utilize format? donordetail.donorcauseamount = causeamount; $scope.compaignbaskettotal += donordetail.total; $scope.compaignbasket.push(donordetail); console.log( $scope.compaignbasket); ... }

all result display correctly item.donorcauseamount has throw errors

<tr ng-repeat="item in compaignbasket"> <td>{{item.date}}</td> <td>{{item.donor}}</td> <td>{{item.city}}</td> <td>{{item.state}}</td> <td ng-repeat="cause_item in item.donorcauseamount">{{cause_item}} </td> <td>${{item.total|number :0}}</td> </tr>

also when seek calculate total different causeitem in same col in script there repeater error

for(var i=0; i< $scope.compaignbasket.length; i++) { if (i == 0) { $scope.causetotalamount = $scope.compaignbasket[i].donorcauseamount; console.log($scope.causetotalamount); } else { (var j = 0; j < $scope.causetotalamount.length; j++) { // $scope.causetotalamount[j] += $scope.compaignbasket[i].donorcauseamount[j]; console.log('total '+ $scope.compaignbasket[i].donorcauseamount[j]); //error show this!!! } } console.log($scope.causetotalamount); }

how can solve it?

you need utilize track index when have duplicate values within array.

<td ng-repeat="cause_item in item.donorcauseamount track $index">{{cause_item}} </td>

angularjs

No comments:

Post a Comment