Pergunta

Gostaria de saber como devo passar alguns valores com coleção que não faz parte de nenhum modelo?Por exemplo, neste exemplo http://jsfiddle.net/5ZaFa/20/ atribuí o título dea visão e passou a coleção inteira para o modelo, e dentro desse modelo, faça um loop em todos os modelos dessa coleção.

  1. É possível não escrever variáveis longas como items.models[x].attributes.id, seria bom se eu pudesse fazer algo como este items[x][id]
  2. Eu sei que seria possível criar visualizações separadas para cada linha e título.Mas eu gostaria de mantê-lo em uma visão. Você poderia me sugerir, por favor?Existe alguma maneira de fazer isso?

Se algo não estiver claro, tentarei fornecer mais informações.

Obrigado,

Foi útil?

Solução

Em vez de passar items.toJSON (), passe um objeto com os nomes que deseja usar e, em seguida, use os nomes para fazer referência aos valores que deseja fazer referência em seu modelo.

Sua função de renderização ficará assim:

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

e altere o seu modelo para ficar assim:

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

Aqui está um link para seu jsFiddle modificado

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top