16

こんにちは、ng-repeat-start と end の簡単な使用例があり、問題なく動作しています。内部の ng-repeat を追加したいときに問題が発生します。これが私のコードです

<tr ng-repeat-start="obj in rows" >
  <td ng-repeat="e in obj.row">{{e}}</td>
</tr>
<tr ng-repeat-end>
  <td colspan="4">{{obj.description}}</td>
<tr>

td 要素への内部 ng-repeat が機能していません。html ソース コードを調べると ngRepeat コメントが表示されますが、td 要素が作成されていません。

<!-- ngRepeat: e in obj.row -->

私の醜い回避策(そのベクトルのサイズを知っている場合)は次のとおりです。

<tr ng-repeat-start="obj in rows" >
  <td>{{obj.row[0]}}</td>
  <td>{{obj.row[1]}}</td>
  <td>{{obj.row[2]}}</td>
  <td>{{obj.row[3]}}</td>
</tr>
<tr ng-repeat-end>
  <td colspan="4">{{obj.description}}</td>
<tr>
4

3 に答える 3

19

ng-repeat-startangular 1.1.6 を使用しているかどうかはng-repeat-endわかりませんが、1.1.5 または 1.0.7 ではまだ利用できません。

ただし、それを実現するために実際に新しいディレクティブを使用する必要はありません。今のところ、次のように簡単に実装できます。

<table>
    <tbody ng-repeat="obj in rows">
        <tr ng-repeat="e in obj.row">
            <td>{{e}}</td>
        </tr>
        <tr>
            <td colspan="4">{{obj.description}}</td>
        <tr>
    </tbody>
</table>

AngularJS 1.1.6 バージョンが正式にリリースされたら、 and を使用ng-repeat-startして再実装できます。ng-repeat-end

Demo

于 2013-08-09T23:00:58.817 に答える
1

インデックスベースの反復を使用して、それをバイパスできるはずです。

<tr ng-repeat-start="obj in rows" >
  <td ng-repeat="e in obj.row">{{obj.row[$index]}}</td>
</tr>
<tr ng-repeat-end>
<!-- ... -->
于 2013-08-09T22:00:37.973 に答える