2012-06-08 11 views
130

Además de mostrar el valor de las propiedades en un objeto, también me gustaría representar el nombre de la propiedad como una etiqueta. ¿Hay alguna manera de hacer esto con ng-repeat? Por ejemplo:AngularJS: cómo puedo hacer referencia al nombre de la propiedad dentro de ng-Repeat

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

Lo que podría escupir algo como esto:

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

Respuesta

322

Prueba esto:

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

@Andy - no son tan geniales, reales ly. Necesitan ejemplos de código reales más simples como los que ha mostrado aquí. Gracias por su respuesta y, por favor, continúe publicando en StackOverflow; tu publicación realmente me ayudó a entender cómo acceder a los documentos de AngularJS. ¡Saludos y votaciones! – noogrub

+0

tan fácil pero no lo pensé: D tnx! – Guntram

+0

qué hacer si tengo una función como --- myFunc (clave) --- que necesita el valor clave esta gonne muéstrame la clave de nombre en html y no el valor –

28

El problema con la documentación es que dice (key, value) con ese espacio ... Me tomó un tiempo darme cuenta de que por eso no funciona

+1

Muchas gracias. Tienes razón. No puedes tener un espacio entre la coma y el valor. (clave, valor) no (clave, valor). –

+8

Quizás las cosas sean diferentes en versiones más nuevas de Angular, pero puede tener un espacio entre '(key, val)'. Así es a menudo como lo hago. – EnigmaRM

+0

Encontré (clave, valor) no funcionó para mí. ¿Estás diciendo que es por el espacio en blanco? ¡Dios! Pero gracias. –

Cuestiones relacionadas