Dynamische Tabelle mit LENKER

Ich versuche zum erstellen einer dynamischen Tabelle mit handlebars.js.
Ein Beispiel für ein Objekt ich möchte in der Tabelle ist:

Object { title: "The Room", director: "Tommy Wiseau", genre: "Drama?", rating: "1"}

Den HTML würde ich gerne Aussehen:

    <thead>
    <th>Title</th>
    <th>Director</th>
    <th>Genre</th>
    <th>Rating</th>
    <th>Edited</th>
  </thead>
  <tbody>
    <tr>
      <td>The Room</td>
      <td>Tommy Wiseau</td>
      <td>Drama?</td>
      <td>1</td>
      <td>2017-05-16</td>
    </tr>
  </tbody>

Mein problem ist, dass der Benutzer können auch fügen Sie Ihre eigenen überschriften von der Tabelle, so kann ich nicht zum Beispiel nur:

<td>{{title}}</td>

Es muss getan werden, dynamisch. Ich habe mir bei: {{#each}}, sondern kann einfach nicht scheinen, um wickeln Sie meinen Kopf herum um ihn herum. Auch, wie kann ich drucken Sie den Namen der Eigenschaft, statt nur den Wert in ein Objekt (wie möchte ich in der Tabelle Header).

  <thead>
    {{#each data}}
    <th>{{@key}}</th><!--property name here-->
    {{/each}}
  </thead>
  <tbody>
    {{#each data}}
    <tr>
      <td>{{this}}</td><!--property value here-->
    </tr>
    {{/each}}
  </tbody>

Dies ist meine Vorlage. Ich fühle mich wie ich am Schluss auf die richtige Lösung, aber ich bin nicht sicher, wo ich bin, etwas falsch zu machen.

$.getJSON("php/loadItems.php?category=" + selected, function(data) {
    let source = $("#itemTemplate").html();
    let template = Handlebars.compile(source);
    delete data[0].id
    $("#tableContainer").append(template(data));
  });

Dies ist, wie ich mit den Daten in meinem JS. Jede Hilfe wird sehr geschätzt!

InformationsquelleAutor Kazura | 2017-05-16
Schreibe einen Kommentar