AngularJS Multiple ng-repeats on single row of table

前端 未结 1 1191
甜味超标
甜味超标 2021-01-21 10:37

I am trying to display a table with items from both a parent and a list of child objects. Is it possible to do this using ng-repeat? A for loop would look something like this

相关标签:
1条回答
  • 2021-01-21 11:31

    Yes, quite possible.

    Assuming an array of parent objects called parents and that parent.child itself is an array of child objects, as it seems to be in your example, you would then do the following using the special ng-repeat-start and ng-repeat-end forms of ngRepeat.

    <table>
    <tr ng-repeat="parent in parents">  
        <td>parent.item1</td>
        <td>parent.item2</td>
        <td>parent.item3</td>
        <td ng-repeat-start="child in parent.child">child.item1</td> <!-- start of the inner loop -->
        <td ng-repeat-end>child.item2</td> <!-- end of inner loop -->
    </tr>
    </table>
    

    Update:

    Since the OP seems to want separate child rows grouped by parent, this might be the solution sought:

    <table>
      <tbody ng-repeat="parent in parents">
      <tr ng-repeat="child in parent.child">
        <td>parent.item1</td>
        <td>parent.item2</td>
        <td>parent.item3</td>
        <td>child.item1</td>
        <td>child.item2</td>
      </tr>
      </tbody>
    </table>
    
    0 讨论(0)
提交回复
热议问题