Como renderizar a coleção na visualização com valores extras em backbone.js
-
27-10-2019 - |
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.
- É possível não escrever variáveis longas como
items.models[x].attributes.id
, seria bom se eu pudesse fazer algo como esteitems[x][id]
- 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,
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>
<% } %>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow