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)с этим пробелом ... мне потребовалось некоторое время, чтобы понять, что из-за этого она не работает


1
Спасибо. Ты прав. Вы не можете иметь пробел между запятой и значением. (ключ, значение) нет (ключ, значение).
Чад ДеШон

9
Возможно, в новых версиях Angular все по-другому, но между ними может быть пробел (key, val). Это часто, как я это делаю.
EnigmaRM

Я обнаружил (ключ, значение) не работает для меня. Вы говорите, что это из-за пробелов ??? Geez! Но спасибо.
код суши

2
У меня тоже работает с пространством.
Шон Лозон

Val против значения, влияющего на пространство?
Дэнни Махоуни
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.