Ich habe einen dynamischen Datensatz zur Darstellung mit Angular. Mit anderen Worten, ich habe keinen Zugriff auf die zur Laufzeit zurückgegebenen Spaltennamen.
Ich kann die Spaltennamen als Header und die Daten selbst ohne Probleme darstellen. ng-repeat (oder vielleicht ist es JS selbst), lehnt es jedoch ab, die Spalten in der Reihenfolge zurückzugeben, in der sie erstellt wurden. Sie können in der Geige sehen, dass die Spalten so sortiert sind, dass sie "Altersnamengewicht" erscheinen, ich brauche sie so, wie sie gekommen sind, "Name Altersgewicht"
Ich habe ein anderes Array der Spaltennamen und ihre richtige Reihenfolge ($ scope.order) erstellt, aber ich kann anscheinend keine Möglichkeit finden, diese mit Angular zu verwenden, um die Daten zu sortieren.
Bitte geben Sie mir eine Möglichkeit, diese Daten in der ursprünglichen Reihenfolge zu präsentieren.
Ich habe einen JSFiddle erstellt: Ссылка
Hier ist ein einfacher Bereich, der die Daten einrichtet:
%Vor%Hier ist der HTML-Code:
%Vor% (Beachten Sie, dass (key,value)
in der letzten ng-Wiederholung für den ng-Klassencode benötigt wird, den ich für dieses Beispiel ausgewählt habe.)
Die Reihenfolge der Eigenschaften in JavaScript-Objekten ist niemals garantiert. Sie müssen eine Liste verwenden.
Das einzige, was Sie tun müssen, ist $scope.order
in ein Array umzuwandeln:
und verwende das im HTML wie folgt:
%Vor%Deine aktualisierte Geige hier (klick).
Obwohl die Reihenfolge der JavaScript-Objekte nicht garantiert ist, wird dies wahrscheinlich in den meisten Fällen funktionieren. Dies ist einfach Schleife Ihre Objekte in Arrays. Es wäre vielleicht ein besserer Ansatz, wenn die Daten vom Server in Arrays kommen, 1 die die Struktur (Schlüssel) beschreiben und die anderen nur Datensätze von Arrays.
%Vor%der html:
%Vor%Tags und Links angularjs