So rendern die Sammlung in der Ansicht mit zusätzlichen Werten in Backbone.js
-
27-10-2019 - |
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.
- 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önnteitems[x][id]
- 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,
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>
<% } %>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow