Мне нужно использовать ng-repeat (в AngularJS), чтобы отобразить все элементы в массиве.
Усложнение состоит в том, что каждый элемент массива будет преобразовываться в одну, две или три строки таблицы.
Я не могу создать допустимый html, если ng-repeat используется для элемента, поскольку между <tbody> и <tr> не разрешен тип повторяющегося элемента.
Например, если я использовал ng-repeat на <span>, я бы получил:
<table>
  <tbody>
    <span>
      <tr>...</tr>
    </span>
    <span>
      <tr>...</tr>
      <tr>...</tr>
      <tr>...</tr>
    </span>
    <span>
      <tr>...</tr>
      <tr>...</tr>
    </span>
  </tbody>
</table>          
Недопустимый html.
Но мне нужно создать следующее:
<table>
  <tbody>
    <tr>...</tr>
    <tr>...</tr>
    <tr>...</tr>
    <tr>...</tr>
    <tr>...</tr>
    <tr>...</tr>
  </tbody>
</table>          
где первая строка была сгенерирована первым элементом массива, а следующие три - вторым, а пятым и шестым - последним элементом массива.
Как я могу использовать ng-repeat таким образом, чтобы элемент html, с которым он привязан, "исчезает" во время рендеринга?
Или есть другое решение?
Разъяснение: Сгенерированная структура должна выглядеть следующим образом. Каждый элемент массива может генерировать между 1-3 строками таблицы. Ответ должен в идеале поддерживать 0-n строк для элемента массива.
<table>
  <tbody>
    <!-- array element 0 -->
    <tr>
      <td>One row item</td>
    </tr>
    <!-- array element 1 -->
    <tr>
      <td>Three row item</td>
    </tr>
    <tr>
      <td>Some product details</td>
    </tr>
    <tr>
      <td>Customer ratings</td>
    </tr>
    <!-- array element 2 -->
    <tr>
      <td>Two row item</td>
    </tr>
    <tr>
      <td>Full description</td>
    </tr>
  </tbody>
</table>          
