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>

Odpowiedzi:


337

Spróbuj tego:

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

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


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,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.