Ver Mensaje Individual
  #3 (permalink)  
Antiguo 14/07/2014, 22:48
Avatar de cristian_cena
cristian_cena
Colaborador
 
Fecha de Ingreso: junio-2009
Mensajes: 2.244
Antigüedad: 15 años, 5 meses
Puntos: 269
Respuesta: Backbonejs: ¿Como pasar una colección a un template?

Hola abimex, antes que nada, muchísimas gracias por responderme, pude solucionarlo!!!

Código Javascript:
Ver original
  1. var Modelo = Backbone.Model.extend();
  2.  
  3. var Coleccion = Backbone.Collection.extend({
  4.     url: '/api/contacts/', //en esta url esta la api rest
  5.     model: Modelo
  6. });
  7.        
  8. var Vista = Backbone.View.extend({});
  9.  
  10. $(function(){
  11.     var mycollection = new Coleccion();
  12.  
  13.     mycollection.fetch({
  14.        success: function (data) {
  15.             console.log("success con exito");  
  16.             var datos = new Array();
  17.             for (var i = 0; i < data.models.length; i++) {
  18.                 datos.push(data.models[i].attributes);
  19.             };
  20.             var contactos = { contactos : datos }; console.log(contactos);
  21.             var template = _.template( $("#lista_template").html(), contactos);
  22.  
  23.             var myview = new Vista({ el: $("#lista_container") });
  24.             myview.$el.html( template );
  25.        }    
  26.     });
  27. });
Código HTML:
Ver original
  1. <div id="lista_container"></div>
  2. <script type="text/template" id="lista_template">
  3.     <ul>
  4.         <% _.each(contactos, function(contacto) { %>
  5.             <li>
  6.                 <% print(contacto.first_name); %>
  7.             </li>
  8.         <% }); %>
  9.     </ul>

Efectivamente se imprimen los nombres de los contactos en la lista, muchas gracias!

Aunque me late que es posible mejorar este código, ojalá puedas compartirme algun consejo o enlace para estudiar
Desde ya muchas gracias nuevamente, un saludo.

Última edición por cristian_cena; 15/07/2014 a las 06:56