AngularJs ng-repeat 2D array in a table, each subarray is one column

I have an array and I need to put this array in a table.

$scope.testArr=[
    {'first':[
            { 'value':'1_1', 'rolle':'one1' },
            { 'value':'2_1', 'rolle':'two1' },
            { 'value':'3_1', 'rolle':'three1'}  
        ]
    },
    {'second': [
            { 'value':'1_2', 'rolle':'one2' },
            { 'value':'2_2', 'rolle':'two2' },
            { 'value':'3_2', 'rolle':'three2' } 
        ]
    }
];

The final table should contain 4 columns, each subframe should be one (or two) columns. Like this:

one1 | 1_1 | one2 | 1-2
two1 | 2_1 | two2 | 2_2   
three1 | 3_1 | three2 | 3_2

So far, I got it. Its only first subarray:

<table>
    <tbody ng-repeat="test in testArr">
        <tr ng-repeat="t1 in test.first">
            <td> {{t1.rolle}} </td> 
            <td> {{t1.value}} </td>
        </tr>
    </tbody>
</table>

How to add a second submachine as a column? It is not necessary to be a table.

+4
source share
1 answer

var app = angular.module('app', []);

app.controller('mainCtrl', function ($scope) {


    $scope.testArr = [{
        'first': [{
            'value': '1_1',
            'rolle': 'one1'
        }, {
            'value': '2_1',
            'rolle': 'two1'
        }, {
            'value': '3_1',
            'rolle': 'three1'
        }]
    }, {
        'second': [{
            'value': '1_2',
            'rolle': 'one2'
        }, {
            'value': '2_2',
            'rolle': 'two2'
        }, {
            'value': '3_2',
            'rolle': 'three2'
        }]
    }];

});
td {
  border:solid 1px grey
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

<div ng-app="app">
    <div ng-controller="mainCtrl">
<table>
    <tbody ng-repeat="test in testArr">
        <tr ng-repeat="t1 in test.first">
            <td>{{t1.rolle}}</td>
            <td>{{t1.value}}</td>
            <td>{{testArr[1].second[$index].rolle}}</td>
            <td>{{testArr[1].second[$index].value}}</td>
        </tr>
    </tbody>
</table>
    </div>
    </div>
Run codeHide result
+3
source

All Articles