我们可以在HTML

时间:2016-01-15 20:06:28

标签: html angularjs

我有一个非常特殊的用例,需要我使用两个ng-repeats。 一个数组是日期,另一个是相关数组形式的日期,参数为日期。

<tbody>
    <tr ng-repeat="date in dates">
    <!-- <tr ng-repeat="datum in data[date]"> -->
    <td> {{date}} </td>
    <td> {{datum.carName}} {{datum.regNumber}}</td>
    <td> {{datum.driverName}} </td>
    <td> {{datum.startTime}} </td>
    <td> {{datum.endTime}} </td>
    <td> {{datum.trip.sourceName}}</td>
    <td> {{datum.trip.destinationName}} </td>
    <!-- </tr> -->
    </tr>
</tbody>

现在,除了tbodytr之外,HTML不允许我使用td内的任何其他标记。另外我知道我们在标签内不能有两个ng-repeats,那么可能是什么方法呢?我可以插入任何其他标签吗?

3 个答案:

答案 0 :(得分:3)

您可以重复<tbody>,然后在每个<tr>内重复<tbody>

<tbody  ng-repeat="date in dates">    
    <tr ng-repeat="datum in data[date]"> 

拥有多个<tbody>

没有限制

答案 1 :(得分:0)

另一种方式

<table>
    <tbody>
        <tr ng-if="0" ng-repeat-start="date in dates"></tr>
        <tr ng-repeat="datum in data[date]">
            <td> {{date}} </td>
            <td> {{datum.carName}} {{datum.regNumber}}</td>
            <td> {{datum.driverName}} </td>
            <td> {{datum.startTime}} </td>
            <td> {{datum.endTime}} </td>
            <td> {{datum.trip.sourceName}}</td>
            <td> {{datum.trip.destinationName}} </td>
        </tr>
        <tr ng-if="0" ng-repeat-end></tr>
    </tbody>
</table>

这使用ng-ifng-repeat-start / ng-repeat-end的组合。这里ng-if="0"确保元素不会被渲染。

答案 2 :(得分:-3)

您可以随时在td中使用其他标签。

<tbody>
  <tr>
    <tr>
      <div>here</div>
      <p>there</p>
    </tr>
  </tr>
</tbody>