在ng-repeat生成的元素之前和之后插入元素

时间:2014-09-19 16:34:50

标签: angularjs angularjs-ng-repeat ng-repeat

Angular非常新。

我想发出以下html,其中一个表有多个 tbody元素,每个tbody包含可变数量的详细行,而首先每个tbody最终行是一种特殊的行,一个组头,包含标题列名称(例如平均订单金额)以及一个小组页脚,其中显示小计和其他聚合,如平均值和最小值/最大值。

理想情况下,当我开始工作时,我希望此聚合行中的单元格指向模型中用于计算这些聚合值(小计,平均值,最小值,最大值等)的函数,并将这些函数传递给类有问题的人,例如'west',该函数可用于过滤数据集中的行。

如何将这些虚拟聚合行作为每个tbody中的最终项添加?

         <tbody class='east'>
             <tr class='group-header-row'>....</tr>

               <tr>...</tr>
               <tr>...</tr>
               <tr>...</tr>
                .
                .
                .
               <tr class='group-footer-row'>....</tr>
         </tbody>

         <tbody class='west'>
                 <tr class='group-header-row'>....</tr>

               <tr>...</tr>
               <tr>...</tr>
               <tr>...</tr>
                .
                .
                .
               <tr class='group-footer-row'>....</tr>
         </tbody>

         <tbody class='north'>
                 <tr class='group-header-row'>....</tr>

               <tr>...</tr>
               <tr>...</tr>
               <tr>...</tr>
                .
                .
                .
               <tr class='group-footer-row'>....</tr>
         </tbody>

         <tbody class='south'>
              <tr class='group-header-row'>....</tr>

               <tr>...</tr>
               <tr>...</tr>
               <tr>...</tr>
                .
                .
                .
               <tr class='group-footer-row'>....</tr>
          </tbody>

1 个答案:

答案 0 :(得分:1)

您可以使用ng-repeat指令的特殊重复开始和结束点功能。这是documentation

的链接
<tbody class='north'> //if you have n # of tbody's use a ng-repeat here.  
       <tr class='group-header-row' ng-repeat-start="item in items">
           <td ng-bind="getAvg('north')"></td>
       </tr>

        <tr>...</tr>
        <tr>...</tr>
        <tr>...</tr>
         .
         .
         .
        <tr class='group-footer-row' ng-repeat-end>....</tr>
</tbody>

如果tbody部分是动态的,你可能必须在另一个ng-repeat内执行此操作。这将一次写出第一行和最后一行。