No meu controlador, tenho dados como:
$scope.object = data
Agora, esses dados são o dicionário com chaves e valores de json
.
Eu posso acessar o atributo com object.name
no modelo. Existe alguma maneira que eu possa iterar sobre as teclas também e exibi-las na tabela como
<tr><td> {{key}} </td> <td> data.key </td>
Os dados são assim
{
"id": 2,
"project": "wewe2012",
"date": "2013-02-26",
"description": "ewew",
"eet_no": "ewew",
}
angularjs
angularjs-ng-repeat
user192362127
fonte
fonte
ngRepeat
. De fato, uma vez ouvi um membro da equipe principal se arrepender de ter implementado a capacidade de fazê-lo! Geralmente é melhor transformar o objeto no controlador em uma matriz; isso torna a intenção mais clara e diminui o risco de comportamento estranho / imprevisível em certos casos. E você pode classificar da maneira usual. :-)Object.getOwnPropertyNames(data).map(k => ({key:k, value:data[k]));
.Se você deseja editar o valor da propriedade com ligação bidirecional:
fonte
ng-model="value"
?ng-repeat
está essencialmente interagindo sobre o objeto e retornando pares de valores-chave. Pense nisso comofor(var value in arrayOfValues) { ... }
. Se você redesignar a variávelvalue
dentro de seu loop, não estará alterando o que está dentroarrayOfValues
, apenas apontando novamentevalue
para um novo objeto.Eu não acho que exista uma função interna em angular para fazer isso, mas você pode fazer isso criando uma propriedade de escopo separada contendo todos os nomes de cabeçalho, e você pode preencher essa propriedade automaticamente assim:
fonte
podemos seguir o procedimento abaixo para evitar a exibição de valores-chave em ordem alfabética.
Javascript
HTML
fonte
Um exemplo de lista de tarefas que faz um loop sobre o objeto
ng-repeat
:fonte
Exemplo completo aqui: -
fonte
https://docs.angularjs.org/api/ng/directive/ngRepeat
fonte
Você pode fazê-lo no seu javascript (controlador) ou no seu html (vista angular) ...
js:
html:
Eu acredito que a maneira html é mais angular, mas você também pode fazer no seu controlador e recuperá-lo no seu html ...
também não é uma má idéia olhar para as chaves de objeto, elas fornecem uma matriz de chaves, se você precisar delas, mais informações aqui:
https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/keys
fonte
Aqui está um exemplo de trabalho:
editado
fonte