将二维数组打印到AngularJS中的表中

时间:2017-12-06 12:47:17

标签: html arrays angularjs html-table angular-ui-bootstrap

我有一个从控制器收到的二维数组,我可以在html中访问,如下所示:$ctrl.myTable

所有子阵列都具有相同的长度,但子阵列的数量可以变化。

它有这样的形式:

$ctrl.myTable = [[111, 222, 333, 444, ...],
                 [123, 234, 345, 456, ...],
                 ...
                ];

我想把它放在一张桌子里。我设法放置表头(这是一个与第一个子阵列长度相同的一维数组),但我不知道如何将每个值放在一个单独的行上。

<div>

            <table class="table table-striped">
                <thead>
                    <tr>
                        <th ng-repeat="label in $ctrl.tableTitle">{{label}}</th>
                    </tr>
                </thead>
                <tbody>
                    <tr><td ng-repeat="label in $ctrl.tableTitle">{{$ctrl.myTable[0]}}</td></tr>                        
                </tbody>
            </table>

</div>

像这样我只有第一个子数组作为行的第一个元素。

我的目标就是这样:

name1 name2 name3 name4 
111     123   ...  ...
222     234   ...  ...
333     345   ...  ...
444     456   ...  ...
...     ...   ...  ...

您是否知道如何通过阵列来实现这一目标?

1 个答案:

答案 0 :(得分:1)

将您的tbody代码替换为:

<tbody>
    <tr ng-repeat="rows in $ctrl.myTable[0]">
        <td ng-repeat="label in $ctrl.tableTitle">{{$ctrl.myTable[$index][$parent.$index]}}</td>
    </tr>                        
</tbody>