Angularjs:ng-repeat和ng-switch on tr标签

dpl*_*age 9 javascript html-table angularjs ng-switch

我正在尝试使用AngularJS创建一个事件列表表.但是每个事件都有一个类型,不同类型的事件具有截然不同的内容,有些类型也会生成多个行.

在一个完美的世界里,我会这样做:

<tbody>
  <ng-repeat="event in events">
    <ng-switch on="event.type">
      <ng-switch-when="type1">
        <tr>
          ...
        </tr>
        <tr>
          ...
        </tr>
      </ng-switch-when>
      <ng-switch-when="type2">
        <tr>
          ...
        </tr>
      </ng-switch-when>
      ...
    </ng-switch>
  </ng-repeat>
</tbody>
Run Code Online (Sandbox Code Playgroud)

但这不起作用,因为大多数浏览器会丢弃或重新定位ng标签以强制tbody只包含trs.

我见过的唯一解决相关问题的解决方案(如何使用没有html元素的ng-repeat)就是拥有多个tbody元素; 我宁愿不这样做,但即使我这样做,给tbody ng-repeat和ng-switch属性,我仍然有一个问题,我不能在一个ng-switch中包装多个trs-when .

有没有办法在AngularJS中做到这一点,还是这不可能?

Wil*_*ent 1

也许最好的选择是根据您的 type1/type2 生成适当标记的指令?

您也可以使用 ng-hide/ng-show 来做到这一点,尽管这会产生额外的不必要的标记