2012-06-08 14 views
130

Oprócz renderowania wartości właściwości w obiekcie, chciałbym również renderować nazwę właściwości jako etykietę. Czy istnieje sposób, aby to zrobić z ng-repeat? Na przykład:AngularJS - W jaki sposób odwołać się do nazwy właściwości w ciągu ng-Repeat

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

Który może wypluć coś takiego:

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

Odpowiedz

322

Spróbuj tego:

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

@Andy - nie są tak świetne, rzeczywiste ly. Potrzebują bardziej prostych przykładów kodu, jak pokazano tutaj. Dziękuję za odpowiedź i proszę, publikuj posty w StackOverflow; Twój post naprawdę pomógł mi zrozumieć, jak uzyskać dostęp do dokumentów AngularJS. Pozdrawiam i przegrywam! – noogrub

+0

takie proste, ale nie myślałem o tym: D tnx! – Guntram

+0

co zrobić, jeśli mam funkcję podobną do --- myFunc (klucz) --- która potrzebuje wartości klucza, ten gonne pokazuje mi klucz nazwy w html, a nie wartość –

28

Problemem jest to, że dokumentacja mówi (key, value) z tej przestrzeni ... zajęło mi trochę czasu, aby dowiedzieć się, że z tego powodu nie działa

+1

Dziękuję bardzo. Masz rację. Nie można wstawić spacji między przecinkiem a wartością. (klucz, wartość) nie (klucz, wartość). –

+8

Być może rzeczy różnią się w nowszych wydaniach Angular, ale możesz mieć spację między '(key, val)'. Tak często to robię. – EnigmaRM

+0

Znalazłem (klucz, wartość) nie działa dla mnie. Mówisz, że to z powodu białych znaków? Geez! Ale dzięki. –