2012-06-08 11 views
130

Oltre a rendere il valore delle proprietà in un oggetto, vorrei anche rendere il nome della proprietà come un'etichetta. C'è un modo per farlo con ng-repeat? Per esempio:AngularJS - Come posso fare riferimento al nome della proprietà all'interno di ng-Repeat

<ul> 
    <li ng-repeat="option in data">{{propertyName}}: {{option}}</li> 
</ul> 

Il che potrebbe sputare fuori qualcosa di simile:

<ul> 
    <li>Name: John</li> 
    <li>Phone: (123) 456-7890</li> 
    <li>Country: England</li> 
</ul> 

risposta

322

Prova questa:

<ul> 
    <li ng-repeat="(key,val) in data">{{key}}: {{val}}</li> 
</ul> 
+30

@Andy - non sono così grandi, effettivi LY. Hanno bisogno di esempi di codice reali più semplici come quelli che hai mostrato qui. Grazie per la risposta e continua a postare su StackOverflow; il tuo post mi ha davvero aiutato a capire come accedere ai documenti di AngularJS. Cordiali saluti e upvote! – noogrub

+0

così facile ma non ci pensavo: D tnx! – Guntram

+0

cosa fare se ho una funzione come --- myFunc (chiave) --- che ha bisogno del valore della chiave questa gonne mi mostra la chiave del nome in html e non il valore –

28

Il problema con la documentazione è che si dice (key, value) con quello spazio ... mi ci è voluto un po 'di tempo per capire che a causa di ciò non funziona

+1

Grazie mille. Hai ragione. Non puoi avere uno spazio tra la virgola e il valore. (chiave, valore) non (chiave, valore). –

+8

Forse le cose sono diverse nelle versioni più recenti di Angular, ma puoi avere uno spazio tra '(chiave, val)'. Questo è spesso il modo in cui lo faccio. – EnigmaRM

+0

Ho trovato (chiave, valore) non ha funzionato per me. Stai dicendo che è a causa dello spazio bianco ??? Accidenti! Ma grazie. –

Problemi correlati