Frage

Ich würde gerne wissen, wie ich einige Werte mit der Sammlung übergeben soll, die nicht Teil eines Models sind. Zum Beispiel in diesem Beispiel http://jsfiddle.net/5zafa/20/ Ich habe den Titel der Ansicht zugewiesen und die ganze Sammlung der Vorlage und in dieser Vorlagenschleife jedes Modell dieser Sammlung übergeben.

  1. Ist es möglich, lange Variablen nicht zu schreiben wie items.models[x].attributes.id, Es wäre gut, wenn ich so etwas tun könnte items[x][id]
  2. Ich weiß, dass es möglich wäre, separate Ansichten für jede Zeile und jeden Titel zu erstellen. Aber ich möchte es in einer Ansicht behalten. Könnten Sie mir bitte vorschlagen? Möglicherweise können Sie dies tun?

Wenn etwas nicht klar ist, werde ich versuchen, weitere Informationen bereitzustellen.

Vielen Dank,

War es hilfreich?

Lösung

Anstatt Elemente zu übergeben. TOJSON () übergeben ein Objekt mit den Namen, die Sie verwenden möchten, und verwenden Sie die Namen, um die Werte zu verweisen, die Sie in Ihrer Vorlage verweisen möchten.

Ihre Renderfunktion sieht dann wie folgt aus:

render: function() {
            template= _.template($('#list_template').html());
            $(this.el).html(template({
                items : this.collection.toJSON(),
                title : "Title of the listing"
            }));
            $('#list_container').html(this.el);
        }

und ändern Sie Ihre Vorlage, um so auszusehen:

<% for(x in items) { %>
   <li><%= items[x].id %> - <%= items[x].name %></li>
<% } %>

Hier ist ein Link zu Ihrem modifizierten JSFiddle

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top