Question

Je voudrais savoir comment dois-je passer quelques valeurs à la collecte qui ne fait pas partie d'un modele? Par exemple, dans cet exemple http://jsfiddle.net/5ZaFa/20/ J'affecté le titre de la vue et passé toute la collection de la matrice, et à l'intérieur de la boucle de modèle de chaque modèle de cette collection.

  1. Est-il possible de ne pas écrire des variables longues comme items.models[x].attributes.id, il serait bon si je pouvais faire quelque chose comme ça items[x][id]
  2. Je sais qu'il serait possible de créer des vues distinctes pour chaque ligne et le titre. Mais je voudrais le garder dans une seule vue. Pourriez-vous me suggérer s'il vous plaît? Peut être il y a une façon de le faire?

Si quelque chose est pas clair, je vais essayer de fournir plus d'informations.

Merci,

Était-ce utile?

La solution

Au lieu de passer dans items.toJSON () passe dans un objet avec les noms que vous souhaitez utiliser, puis utilisez les noms pour référencer les valeurs que vous souhaitez référence dans votre modèle.

Votre fonction sera rendu alors ressembler à ceci:

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

et changer votre modèle pour ressembler à ceci:

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

Voici un lien vers votre modification jsFiddle

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top