AngularJS - Jak mogę odwołać się do nazwy właściwości w ramach powtórzenia ng

134

Oprócz renderowania wartości właściwości w obiekcie chciałbym również wyrenderować nazwę właściwości jako etykietę. Czy jest na to sposób ng-repeat? Na przykład:

<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>
Brian Flanagan
źródło

Odpowiedzi:

337

Spróbuj tego:

<ul>
    <li ng-repeat="(key,val) in data">{{key}}: {{val}}</li>
</ul>
Andrew Joslin
źródło
30
@Andy - właściwie nie są takie świetne. Potrzebują prostszych przykładów kodu, takich jak pokazałeś tutaj. Dziękujemy za odpowiedź i przesyłaj dalej posty do StackOverflow; Twój post naprawdę pomógł mi zrozumieć, jak uzyskać dostęp do dokumentów AngularJS. Pozdrawiam i zagłosuj!
noogrub
tak proste, ale o tym nie pomyślałem: D tnx!
Guntram
co zrobić, jeśli mam funkcję taką jak --- myFunc (klucz) ---, która wymaga wartości klucza, ta gonne pokaż mi klucz nazwy w html, a nie wartość
Nejmeddine Jammeli
28

Problem z dokumentacją polega na tym, że mówi, (key, value)że z tą przestrzenią ... zajęło mi trochę czasu, zanim się zorientowałem, ponieważ to nie działa

darkyndy
źródło
1
Dzięki wielkie. Masz rację. Nie możesz mieć spacji między przecinkiem a wartością. (klucz, wartość) a nie (klucz, wartość).
Chad DeShon
9
Być może w nowszych wydaniach Angulara sytuacja wygląda inaczej, ale między nimi może być odstęp (key, val). Często tak to robię.
EnigmaRM
Okazało się, że (klucz, wartość) nie działa dla mnie. Czy mówisz, że to z powodu białych znaków ??? Jezu! Ale dzięki.
code-sushi
2
U mnie działa również z przestrzenią.
Shawn Lauzon,
wartość vs wartość wpływająca na przestrzeń?
Danny Mahoney,