首页 > 解决方案 > 外部和内部forloop角度

问题描述

我是角度新手......我想做的基本上是一个“循环中的循环”(一个外部和一个内部for循环)

html:

<tbody>
<tr ng-repeat="service in services track by $index">
<td>
    <table>
        <tr ng-repeat="sd in service.data">
        <td>How do I write here to show (line1,row1) (color1,red1) etc ?</td>
        <td>If item2 ... (line2,row2) (color2,red2)</td>
        <td>If item3 ... (line3,row3) (color3,red3)</td>
        </tr>
    </table>  
</td>
</tr>
</tbody>

我的控制器(使用充当模型的数据):

 $scope.services = [
  { index: 0, 
    name: "Getwebcolors", 
    url:"getwebcolors", 
    type: "GET", 
    description: "Hexadecimal values from {url} separated by semicolons", 
    data:[["line1","solid1"],["color1","red1"]] },
  { 
    index: 1, 
    name: "desc 2", 
    url:"", 
    type:"GET", 
    description: "X2", 
    data:[["line2","solid2"],["color2","red2"]] },
  { 
    index: 2, 
    name: "desc 3", 
    url:"", 
    type:"POST", 
    description: "X3", 
    data:[["line3","solid3"],["color3","red3"]] }
 ];

更新

澄清..(我希望:-))

<!-- This loops through through the outer array services
and the inner array data -->
<tr ng-repeat="service in services track by $index">
<td>
    <table>
        <tr ng-repeat="sd in service.data">
        <td>{{sd[0]}}</td><td>{{sd[1]}}</td>            
        </tr>
    </table>  
</td>

</tr>
</tbody>

上面将显示第一个服务

line 1, solid1 (first column = line1, second column = solid1)
color1, red1   (first column = color1, second column = red1)

和...(与上面第一次服务中描述的列相同的结构)

line 2, solid2
color2, red2

$scope.services是一个对象数组。每个对象都有一个数据属性,它是一个数组的数组[[是一个数组,{也是一个对象。这是一个标准,我希望?Angular 使用它,但似乎是这样 :-)

$scope.services.service[index].data包含一个数组,可能存在未知数量的行,但每一行都包含一个键/值对(例如 line1->solid1)


这是我在 Angular 中的第一个应用程序。最终目的是在点击特定网络服务后获取信息

[button 1 = webservice 1] -> show info
[button 2 = webservice 2] -> show info
[button 3 = webservice 2] -> show info

我想了解如何引用数据数组中的不同项目,并且这样做 for 循环似乎是了解它如何与 ng-repeat 一起工作的好方法。我想我从一开始就做了这样的事情{{sd[0][0]}}{{sd[0][1]}}但这根本不起作用(因为它需要 sd[0] 的第一个字符和 sd[0] 的第二个字符)

- 现在,当我理解这一点时,我可以继续单击(我知道如何在单击按钮时将值从 $scope 绑定到元素,但我遇到了一个数组数组的数据问题)。


谢谢你的帮助!(如果我写的东西错了,请告诉我。这就是你学习的方式!)

标签: arraysangularjsloops

解决方案


我想你可能正在尝试这样的事情:

<tbody>
<tr ng-repeat="service in services track by $index">
<td>
    {{service.name}}
</td>
<td>
    <table>
        <tr ng-repeat="sd in service.data">
        <td>{{sd[0]}}</td>
        <td>{{sd[1]}}</td>
        </tr>
    </table>  
</td>
</tr>
</tbody>

推荐阅读