Pregunta

Me gustaría saber cómo debo pasar algunos valores con la colección que no es parte de ningún modelo. Por ejemplo en este ejemplo http://jsfiddle.net/5zafa/20/ Asigné el título de la vista y pasé completa colección a la plantilla, y dentro de esa plantilla enojo cada modelo de esa colección.

  1. ¿Es posible no escribir variables largas como items.models[x].attributes.id, sería bueno si pudiera hacer algo como esto items[x][id]
  2. Sé que sería posible crear vistas separadas para cada fila y título. Pero me gustaría mantenerlo en una visión. ¿Podrías sugerirme por favor? ¿Puede estar allí alguna forma de hacer esto?

Si algo no está claro, intentaré proporcionar más información.

Gracias,

¿Fue útil?

Solución

En lugar de pasar en elementos.tojson () pase en un objeto con los nombres que desea usar, luego use los nombres para hacer referencia a los valores que desea hacer referencia en su plantilla.

Su función de renderización se verá así:

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);
        }

Y cambie su plantilla para verse así:

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

Aquí hay un enlace a su jsfiddle modificado

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top