Salut, j'ai un cas d'utilisation simple pour ng-repeat-start et end et fonctionne très bien, le problème apparaît lorsque je veux ajouter un ng-repeat interne . Voici le mon code
<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>
Le ng-repeat interne dans l'élément td ne fonctionne pas, le commentaire ngRepeat s'affiche lorsque j'inspecte le code source HTML, mais les éléments td ne sont pas créés.
<!-- ngRepeat: e in obj.row -->
Ma solution de contournement moche (étant donné que je connais la taille de ce vecteur) est la suivante:
<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>
Je ne sais pas si vous utilisez la version 1.1.6 angulaire ou non, car ng-repeat-start
et ng-repeat-end
ne sont pas encore disponibles en 1.1.5 ou 1.0.7.
Cependant, vous n'êtes pas obligé d'utiliser les nouvelles directives pour y parvenir. Vous pouvez simplement l'implémenter comme ceci pour le moment:
<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>
Vous pouvez utiliser ng-repeat-start
et ng-repeat-end
pour le réimplémenter lorsque la version d'AngularJS 1.1.6 sera officiellement publiée.
Je pense que cela pourrait être quelque chose de mal avec votre structure de données. En utilisant Angular 1.2.1 cela fonctionne pour moi
<div ng-app="myApp" ng-controller="myCtrl">
<div class="h" ng-repeat-start="val in data">{{val.title}}</div>
<div ng-repeat="con in val.content">
{{con}}
</div>
<div class="b" ng-repeat-end>footer</div>
</div>
Voir jsFiddle
Vous devriez pouvoir utiliser des itérations basées sur un index pour contourner cela:
<tr ng-repeat-start="obj in rows" >
<td ng-repeat="e in obj.row">{{obj.row[$index]}}</td>
</tr>
<tr ng-repeat-end>
<!-- ... -->