0

Je cetteAngularJS ng répétition ne pas montrer mes données en ng modèle

ng-repeat="directive in vm.directives"> 

dans lequel cette boucle affiche correctement toutes mes données

Dans cette boucle je peux faire

{{vm.question.directiveassoc[0].SortOrder}} 

et qui fonctionne

mais lorsque je tente de faire

{{vm.question.directiveassoc[directive.Id].SortOrder}} that does not work 

ni plus important, je veux que mon modèle ng à afficher les données dans mon objet

ng-model="vm.question.directiveassoc[directive.Id].SortOrder" 

Pourquoi ne pas que le travail, il ne devrait pas afficher les données de mon objet?

{ 
    "Id": 105, 
    "Name": "yyyyyyyyyyyyy", 
    "Description": "yyyyyyyyyyyyyy", 
    "Active": true, 
    "$$hashKey": "object:98", 
    "directiveassoc": [ 
    { 
     "Id": 96, 
     "QuestionId": 105, 
     "DirectiveId": 1, 
     "SortOrder": 99, 
     "data": "yyyyyy" 
    } 
    ] 
} 

Mise à jour

Ok, cela fonctionne

ng-model="vm.question.directiveassoc[directive.Id -1].SortOrder" 

Le problème est que le bouclage sur vm.directives, une liste d'objets qui commencent par 1, car ils sont dans l'ordre 1 à beaucoup, et puisque mon autre objet de vm.question.directiveassoc contient le même id de directive, avec trier ordre .. qui fonctionne si i -1

Ainsi, depuis l'objet commence par 0, je soustrais juste

Cela se sent dégueu/hacky si

Quelle est la meilleure façon de le faire vraiment cette boucle avec des objets différents?

+0

sortie directive individuelle à l'intérieur du bloc ng-repeat. '{{directive}}' pour voir ce qui est rendu. Sachez que chaque ng-repeat possède sa propre portée isolée et que vous tentez d'hériter, ce qui provoque l'émission de données non disponibles. – Rikin

+0

J'ai mis à jour cette question @Rikin –

+0

@Rikin {{directive}} -> {"Id": 1, "Nom": "OuiNon", "Tag": "", "Description": "affiche 2 boutons liés à Oui NON liés à la question"} –

Répondre

0

Il semble que votre directive a une Id de 1, et non 0.

Je vous suggère de créer une méthode sur le contrôleur pour obtenir l'ordre de tri pour une id directive donnée, puis faites un tableau approprié recherche pour trouver l'entrée dans le tableau directiveassoc avec le bon DirectiveId. Si vous utilisez Lodash ou Underscore, la méthode _.find() devrait être ce dont vous avez besoin, sinon écrivez la vôtre.

+0

Hey, donc j'ai mis à jour ma question - oui vous avez raison.Donc, je fais cette boucle sur la base de données récupère la liste des directives à partir d'une table avec ses plusieurs colonnes, je dois faire une boucle sur celles-ci et avoir une case à cocher sur quelle directive un administrateur veut choisir, ainsi que trier (id = 1) alors essentiellement mon autre objet avec directiveassoc a les directives choisies, donc la première directive avec id = 1, qui dans mon ordre de tri directiveassoc sur cette même ligne commence par un 0, donc c'est ce que j'ai fait –

+0

avoir un exemple de comment je peux le faire mieux? THX –