【问题标题】:AngularJs ng-repeat 2D array in table, each subarray one columnAngularJs ng-repeat 表中的二维数组,每个子数组一列
【发布时间】:2014-12-23 18:37:53
【问题描述】:

我有一个数组,我需要将该数组放入表中。

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

结果表应该有 4 列,每个子数组应该是一(或两)列。像这样:

one1 | 1_1 |一个2 | 1-2
两个1 | 2_1 |二2 | 2_2
三1|3_1 |三2|3_2

到目前为止,我得到了这个。它只是第一个子数组:

<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>

如何将第二个子数组添加为列?不一定是表格。

【问题讨论】:

    标签: arrays angularjs 2d ng-repeat


    【解决方案1】:

    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>

    【讨论】:

    • 非常感谢。我整天都在与索引作斗争。你救了我。
    • 如果你不想重复 元素怎么办。所以你只想循环数组,然后重复 并有一个 。该怎么做?
    • @Robert 你有没有想过如何做这样的事情?
    猜你喜欢
    相关资源
    最近更新 更多
    热门标签