AngularJS: ng-repeat avec la valeur de la clé de mise à jour de l'objet
Je me suis rendu clé:valeur de l'objet de tableau avec ng-repeat comme ceci:
<div ng-controller="mainCtrl">
<div ng-repeat="record in records">
<div ng-repeat="(key, value) in record">
<input ng-model="key" />: <input ng-model="value" />
</div>
</div>
</div>
JS:
var mainCtrl = function($scope){
$scope.records = [
{'key1':'val1'},
{'key2':'val2'}
];
}
Problème, c'est que les clés et les valeurs ne peuvent pas être mis à jour via la saisie des tags. Pour une raison quelconque, il devient un moyen de liaison après la prise de ng-repeat parcourir (clé,valeur).
Violon: http://jsfiddle.net/BSbqU/1/
Comment puis-je faire une liaison bidirectionnelle? Ou devrais-je aborder ce problème d'une manière différente, puis imbriquée ng-repeat?
OriginalL'auteur Sergej Popov | 2013-05-11
Vous devez vous connecter pour publier un commentaire.
Et le JS:
Gotcha, quelque chose à faire avec l'aide de la touche ng-model, si j'étais capable de le faire fonctionner en attribuant le nom et la valeur et la suppression de l'intérieur de répéter, de se tenir , se jsfiddle de travail.
Très intéressant de voir comment vous le faites sans intérieure répéter, mais le violon, vous avez donné n'est pas mis à jour..
Mise à jour de réponse, jsfiddle n'est pas coopérant avec moi ce matin.
Ok, cela implique un changement dans la structure du modèle . Qui je pourrais le faire mais pas tout à fait désireux de le faire. +1.
OriginalL'auteur Jason
Cette option fonctionne avec l'objet:
Pas brillant, mais il fonctionne.
OriginalL'auteur vlad
Après de me gratter la tête à l'os, j'ai trouver un moyen de mettre à jour l'objet des noms de clé.
C'est un peu tordu mais ça marche pour moi.
remplacer
avec
vous aurez besoin de la "lineKey " directive juste pour garder le focus sur votre entrée
enfin, ajouter le " update_key' méthode de votre contrôleur
OriginalL'auteur yorg