AngularJS - Как я могу ссылаться на имя свойства в ng-Repeat

134

В дополнение к отображению значения свойств объекта, я также хотел бы отобразить имя свойства в виде метки. Есть ли способ сделать это с ng-repeat? Например:

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

Который может выплюнуть что-то вроде этого:

<ul>
    <li>Name: John</li>
    <li>Phone: (123) 456-7890</li>
    <li>Country: England</li>
</ul>
Брайан Фланаган
источник

Ответы:

337

Попробуй это:

<ul>
    <li ng-repeat="(key,val) in data">{{key}}: {{val}}</li>
</ul>
Эндрю Джослин
источник
30
@ Энди - на самом деле они не так хороши. Им нужны более простые реальные примеры кода, как вы показали здесь. Спасибо за ваш ответ и, пожалуйста, продолжайте писать в StackOverflow; Ваш пост действительно помог мне понять, как получить доступ к документации AngularJS. С наилучшими пожеланиями и upvote!
noogrub
так просто, но не думал об этом: D tnx!
Гунтрам
что делать, если у меня есть функция наподобие --- myFunc (key) --- которая нуждается в значении ключа, это покажет мне имя ключа в html, а не значение
Nejmeddine Jammeli
28

Проблема с документацией в том, что она говорит (key, value)с этим пробелом ... мне потребовалось некоторое время, чтобы понять, что из-за этого она не работает

darkyndy
источник
1
Спасибо. Ты прав. Вы не можете иметь пробел между запятой и значением. (ключ, значение) нет (ключ, значение).
Чад ДеШон
9
Возможно, в новых версиях Angular все по-другому, но между ними может быть пробел (key, val). Это часто, как я это делаю.
EnigmaRM
Я обнаружил (ключ, значение) не работает для меня. Вы говорите, что это из-за пробелов ??? Geez! Но спасибо.
код суши
2
У меня тоже работает с пространством.
Шон Лозон
Val против значения, влияющего на пространство?
Дэнни Махоуни