多个 `<tr>` 元素的 ng-repeat AngularJS

ng-repeat for multiple `<tr>` elements AngularJS

我正在尝试使用 <tr np-repeat> 遍历 <tbody> 中的对象数组,但考虑到我现在的情况和代码库,我基本上有条件地渲染某些 [=16] =]s 基于相应对象中的一些键值对。自定义包装器指令(例如 ng-container 来环绕 <tr>s 在这种情况下会有所帮助,但我对 Angular.js 还很陌生,所以如果有人对现有解决方案有一些参考,我宁愿从中启发我自己而不是创造我自己的。谢谢!

我试过使用 ng-repeat-start/ng-repeat-end 但它又不适合我的情况,因为它只指定重复结束的位置,而我还需要指定重复结束的位置。根据我目前的发现,使用 transclude 创建指令可能是可行的方法,但我不确定如何操作。

控制器的东西

$scope.array = [{show: true}, {key: value}, {key: value}]

模板内容

<tbody>
  <custom-ng-container-directive ng-repeat="element in array">
    <tr ng-if="element.show">
      <td>some text</td>
      <td>more text</td>
    </tr>
    <tr ng-if="!element.show">
      <td>{{ element.key }}</td>
      <td>other text</td>
    </tr>
  </custom-ng-container-directive>
</tbody>

您应该能够为此使用 ng-repeat-startng-repeat-end。请注意,您缺少 <td></td> 元素并且将文本直接放在 <tr></tr> 中的格式不正确 HTML.

<tbody>
    <tr ng-repeat-start="element in array" ng-if="element.show">
        some text
    </tr>
    <tr ng-repeat-end ng-if="!element.show">
      {{ element.key }}
    </tr>
</tbody>