Ich versuche gerade, eine Art dynamische Vorlage zu erstellen, die Daten und Metainformationen von zwei separaten Diensten abruft. Das Endergebnis sollte eine Tabelle sein, die die Daten mit den korrekten Etiketten zeigt. Mein Plan war es, HTML
-Templates mit verschiedenen grundlegenden Designs wie eine Tabelle mit 3,4 oder 5 Spalten zu erstellen. Dann sollte ein passender Controller die Metadaten von einem Dienst abrufen, der ein Array mit dem id
eines Attributs und seinem name
, das in der Tabelle angezeigt werden sollte, zurückgeben sollte. So weit so gut, aber jetzt kommt der knifflige Teil:
Der zweite Dienst holt die übereinstimmenden Daten für die Vorlage und die id
der Metadaten und die id
der tatsächlichen Daten übereinstimmt, damit Sie sie richtig abgleichen können.AngularJS dynamische Vorlage erstellen
Hier ist der Code auf plunkr: Link
Das Hauptproblem ist das folgende Stück Code:
<tr ng-repeat="person in persons">
<td>{{person.name}}</td>
<td>{{person.age}}</td>
<td>{{person.postal}}</td>
</tr>
Zwischen den <td>
-Tags hat nicht die abgerufenen Daten dynamisch erhalten, aber statisch. Ich möchte nicht explizit sagen, wie meine Attribute aufgerufen werden, sondern die abgerufenen Daten aus dem Meta-Service verwenden, um zu wissen, wie meine Attribute aufgerufen werden. Also sollte die Vorlage am Ende die Namen der Attribute sowie die passenden Daten erhalten. Habt ihr eine gute Idee, wie ich das lösen kann?
EDIT
Um ein wenig mehr klar zu machen Dinge:
Im Moment sind die Daten zwischen den <td>
Tags geholt statisch, weil der Begriff {{person.name}}
dort codierte Fest steht. Nehmen wir an, dass die Struktur der Daten sich ändert und es wird ein country
-Attribut statt postal
geben. Die Vorlage, die gleich bleibt, versucht weiterhin Daten von person.postal
und nicht von person.country
zu erhalten. Also undefined
oder sogar ein Fehler wäre die Folge.
Um dies zu verhindern, sollten die Namen der Attribute von einem Meta-Service abgerufen und auf der Seite HTML
erstellt werden.
Der Workflow sollte aussehen irgendwie so:
- die Metadaten holen -> erhalten die Namen der Attribute
- die Namen der Attribute in der ‚HTML‘ Stellen Sie die richtige Attribut zu nennen
- holen die tatsächlichen Daten mit den vorher definierten Attribute
- die Tabelle erstellen
was genau meinen Sie damit: "Zwischen den -Tags werden die Daten nicht dynamisch, sondern statisch abgerufen"? –
Ihre Geige enthält Fehler, aktualisieren Sie den Code –
@AnnomolMittal Ich habe den Code behoben. Beschrieb auch mein Problem ein wenig mehr – JohnDizzle