En mi controlador, tengo datos como:
$scope.object = data
Ahora estos datos son el diccionario con claves y valores de json
.
Puedo acceder al atributo con object.name
en la plantilla. ¿Hay alguna manera de que pueda iterar sobre las teclas también y mostrarlas en la tabla como
<tr><td> {{key}} </td> <td> data.key </td>
Los datos son así
{
"id": 2,
"project": "wewe2012",
"date": "2013-02-26",
"description": "ewew",
"eet_no": "ewew",
}
angularjs
angularjs-ng-repeat
usuario192362127
fuente
fuente
ngRepeat
. De hecho, una vez escuché que un miembro del equipo central lamentaba haber implementado la capacidad de hacerlo. Por lo general, es mejor transformar el objeto en el controlador en una matriz; Esto aclara la intención y disminuye el riesgo de comportamiento extraño / impredecible en ciertos casos. Y puedes ordenar de la manera habitual. :-)Object.getOwnPropertyNames(data).map(k => ({key:k, value:data[k]));
.Si desea editar el valor de la propiedad con enlace bidireccional:
fuente
ng-model="value"
?ng-repeat
esencialmente está iterando sobre el objeto y devolviendo pares clave-valor. Piensa en ello comofor(var value in arrayOfValues) { ... }
. Si reasigna la variablevalue
dentro de su ciclo, no está cambiando lo que está dentroarrayOfValues
, solo está volviendo a señalarvalue
a un nuevo objeto.No creo que haya una función incorporada en angular para hacer esto, pero puede hacerlo creando una propiedad de ámbito separada que contenga todos los nombres de encabezado, y puede completar esta propiedad automáticamente de esta manera:
fuente
podemos seguir el siguiente procedimiento para evitar la visualización de valores-clave en orden alfabético.
Javascript
HTML
fuente
Un ejemplo de lista de tareas que recorre objetos por
ng-repeat
:fuente
Ejemplo completo aquí: -
fuente
https://docs.angularjs.org/api/ng/directive/ngRepeat
fuente
Puede hacerlo en su javascript (controlador) o en su html (vista angular) ...
js:
html:
Creo que la forma html es más angular, pero también puede hacerlo en su controlador y recuperarlo en su html ...
tampoco es una mala idea mirar las teclas de Objeto, te dan una serie de teclas si las necesitas, más información aquí:
https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/keys
fuente
Aquí hay un ejemplo de trabajo:
editado
fuente