iteration scope name in ng-repeat

This is my controller

var i;

for (i = 1; i <= 3; i++ ) {
   $scope["items"+i].push({
      notification: item.notification,
      admin_id: item.admin_id,
      user_id: item.user_id,
      chat_time: item.chat_time
   })
}

This is my static scope in ng-repeat

 <ul>
  <li ng-repeat="x in items1"></li>
  <li ng-repeat="x in items2"></li>
  <li ng-repeat="x in items3"></li>
 </ul>

How to make dynamic iteration scope variabel in ng-repeat in single ng-repeat like this

<ul>
  <li ng-repeat="x in items[i++]"> 
     <!-- generate from here-->
        <li ng-repeat="x in items1"></li>
        <li ng-repeat="x in items2"></li>
        <li ng-repeat="x in items3"></li> 
     <!-- to here -->
  </li>
</ul>

and it will display like my static scope

Thanks , appreciate ur help and comment

Upvotes: 0

Views: 73

Answers (1)

Shashank
Shashank

Reputation: 2060

You need to store all the different arrays in a new Array and then, you can loop it around as shown (I have created a sample):

JS:

$scope.item1 = [ /* json array 1 */];

$scope.item2 = [ /* json array 2 */];

$scope.item3 = [ /* json array 3 */];

$scope.itemsList = [];
for (i = 0; i < 3; i++) {
  var varName = '$scope.item' + (i + 1);
  $scope.itemsList.push(eval(varName));
}

HTML:

<li ng-repeat="mainList in itemsList">
      <p ng-repeat="specificList in mainList">
        <span>Id: {{specificList.id}}</span>
        <br />
        <span>Name: {{specificList.name}}</span>
      </p>
</li>

Have a look at the demo.

Upvotes: 1

Related Questions