2D array $Index dans AngularJS
Je travaille sur une application AngularJS qui construit une feuille de calcul d'un tableau 2D construit par la ng-repeat
fonction. Je suis en train d'écrire une fonction qui va changer les valeurs initiales de la matrice lorsque l'utilisateur entre de nouvelles valeurs sur la feuille de calcul. Cela exige de moi d'accéder au point dans la table initiale basée sur son index de rangée et de colonne de l'index afin que je puisse le modifier à la nouvelle valeur.
J'ai regardé sur le ng-repeat API et a constaté qu'elle avait un $index
de la propriété, ce qui me permet de vérifier l'indice de l'actuel répété valeur. Cependant, je trouve qu'il ne permettez-moi de vérifier l'indice de la valeur de quoi que répéter en boucle vous sont à l'intérieur: pas d'autres à l'extérieur des boucles que vous pouvez aussi être en.
<script>
data = [
[A1, B1, C1],
[A2, B2, C2],
[A3, B3, C3]
]
sheet= function($scope, $parse){
$scope.columns = [colA, colB, colC];
$scope.rows = data.length;
$scope.cells = {};
$scope.outer = data.map(function(c,row){
return c.map(function(data, ind){
return {
content: data,
model: null,
};
});
});
};
</script>
<div ng-app ng-controller="sheet">
<table>
<tr class="column-label">
<td ng-repeat="column in columns">{{column}}</td>
<tr ng-repeat="inner in outer">
<td class="row-label" ng-repeat="data in inner">
<div>
<input type="text" ng-model="data.content" value="{{data.content}}">
</div>
</td>
</tr>
</table>
</div>
Je veux accéder à la $index
de outer
tandis que dans le inner
boucle, et aussi être en mesure d'accéder à la $index
de la inner
, trop.
Est-il un moyen de faire cela? J'ai l'intention de passer ces valeurs comme paramètres à la fonction que j'écris.
- Il existe peut-être plus simple de répondre, mais je voudrais proabably juste de vérifier ng-repeat, peut-être vous pouvez simplement écrire que vous êtes propre de la directive qui traite spécifiquement les ce le cas pour vous. Une bonne question.
$parent.$index
ou peut-être$parent().$index
- l'Une de ces deux personnes devraient travailler.$parent.$index
œuvres. Merci!
Vous devez vous connecter pour publier un commentaire.
Haha, eh bien, il a été répondu dans les commentaires alors que j'était en train de réunir mon violon, mais en voici une démonstration pour les gens à trouver cette question en bas de la route:
http://jsfiddle.net/V8qzt/1/
Voici mon code, il se peut que vous ou quelqu'un qui trouve le moyen de la boucle de tableau 2D en deux ng-repeat élément.
Code HTML
Code Javascript:
@Karen: merci à vous, je peux à l'aide de votre code de cette façon, avec mes données: