В моем контроллере у меня есть данные как:
$scope.object = data
Теперь эти данные - словарь с ключами и значениями из json
.
Я могу получить доступ к атрибуту object.name
в шаблоне. Есть ли способ, которым я могу перебирать ключи и отображать их в виде таблицы
<tr><td> {{key}} </td> <td> data.key </td>
Данные такие
{
"id": 2,
"project": "wewe2012",
"date": "2013-02-26",
"description": "ewew",
"eet_no": "ewew",
}
angularjs
angularjs-ng-repeat
user192362127
источник
источник
ngRepeat
. Фактически, я однажды слышал, как член основной команды сожалел о том, что когда-либо реализовал такую возможность! Обычно лучше преобразовать объект в контроллере в массив; это делает намерение более ясным и уменьшает риск странного / непредсказуемого поведения в некоторых случаях. И вы можете отсортировать в обычном порядке. :-)Object.getOwnPropertyNames(data).map(k => ({key:k, value:data[k]));
.Если вы хотите отредактировать значение свойства с помощью двухсторонней привязки:
источник
ng-model="value"
?ng-repeat
по сути перебирает объект и возвращает пары ключ-значение. Думайте об этом какfor(var value in arrayOfValues) { ... }
. Если вы переназначаете переменнуюvalue
внутри вашего цикла, вы не изменяете то, что внутриarrayOfValues
, вы просто перенаправляетеvalue
на новый объект.Я не думаю, что для этого есть встроенная функция в angular, но вы можете сделать это, создав отдельное свойство scope, содержащее все имена заголовков, и вы можете заполнить это свойство автоматически следующим образом:
источник
мы можем следовать приведенной ниже процедуре, чтобы избежать отображения значений ключей в алфавитном порядке.
Javascript
HTML
источник
Пример списка задач, который зацикливается на объекте
ng-repeat
:источник
Полный пример здесь: -
источник
https://docs.angularjs.org/api/ng/directive/ngRepeat
источник
Вы можете сделать это в вашем javascript (контроллере) или в html (угловое представление) ...
ЯШ:
HTML:
Я считаю, что HTML-путь более угловат, но вы также можете сделать это в своем контроллере и получить его в своем HTML-файле ...
Также неплохо было бы взглянуть на ключи Object, они дают вам массив ключей, если они вам нужны, больше информации здесь:
https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/keys
источник
Вот рабочий пример:
отредактированный
источник