angularjs: ng-repeat, lancez-ng-repeat-end à l'intérieur des ng-repeat
Salut j'ai un cas d'utilisation simple pour ng-repeat-de début et de fin et fonctionne correctement, le problème apparaît lorsque je veux ajouter un intérieur ng-repeat.
Voici 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>
L'intérieur ng-repeat en td élément ne fonctionne pas, je vais voir le ngRepeat commentaire quand j'ai inspecter le code source html, mais les éléments td ne sont pas créés.
<!-- ngRepeat: e in obj.row -->
Mon laid solution de contournement (étant donné que je sais que la taille de ce vecteur) est:
<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>
Est-ce parce que le modèle n'est pas valide HTML? Je vois la fin
</tr>
balise est en fait <tr>
OriginalL'auteur Jime | 2013-08-09
Vous devez vous connecter pour publier un commentaire.
Je ne suis pas sûr de savoir si vous utilisez angulaire 1.1.6 ou pas, depuis
ng-repeat-start
etng-repeat-end
ne sont pas disponibles dans 1.1.5 ou 1.0.7 encore.Cependant, vous n'avez pas à utiliser les nouvelles directives pour l'atteindre. Vous pouvez simplement le mettre en œuvre comme cela pour l'instant:
Vous pouvez utiliser
ng-repeat-start
etng-repeat-end
réimplémenter quand AngularJS 1.1.6 version est officiellement sorti.Démo
Vous avez besoin d'un
tbody
seulement.Je vous remercie. Veux juste le rendre plus professionnel et facile à lire 🙂
le code html généré par le ng-repeat à tbody niveau permettra de créer plusieurs tbody éléments. voici le code généré par votre exemple (ce qui est vraiment bon et utile) <table> <!-- ngRepeat: obj dans les lignes --> <tbody ng-repeat="obj dans les lignes" class="ng-champ"> <!-- ngRepeat: e en obj.ligne --> <tr ng-repeat="e en obj.ligne" class="ng-champ"> </tbody> <tbody ng-repeat="obj dans les lignes" class="ng-champ"> <!-- ngRepeat: e en obj.ligne --><tr ng-repeat="e en obj.ligne" class="ng-champ"> </tbody> </table>
Plusieurs tbody semble être valide selon ceci: stackoverflow.com/questions/3076708/...
OriginalL'auteur zsong
Je pense qu'il pourrait être quelque chose de mal avec votre structure de données. À l'aide Angulaire 1.2.1 cela fonctionne pour moi
Voir jsFiddle
OriginalL'auteur NicolasMoise
Vous devriez être en mesure d'utiliser d'index basée sur des itérations pour ignorer que:
OriginalL'auteur Eliran Malka