Código Javascript:
que recorro y muestro por completa en el siguiente template Ver original
var Producto = Backbone.Model.extend({}); var Catalogo = Backbone.Collection.extend({ model : Producto }); var Vista = Backbone.View.extend({}); var catalogo_de_productos = new Catalogo([ { nombre : "el abuelo marsala", precio: 42.75, categoria : "vinos" }, { nombre : "moscato promesa", precio: 14.5, categoria : "vinos" }, { nombre : "black label x750", precio: 577, categoria : "whiskys" }, { nombre : "red label x750", precio: 363, categoria : "whiskys" } ]); $(function(){ var productos = { productos : catalogo_de_productos.toJSON() }; var template = _.template( $("#lista_template").html(), productos); var index = new Vista({ el: $("#lista_container") }); index.$el.html( template ); });
Código HTML:
Ver original
Hasta acá funciona perfecto, solo que ahora quiero mostrar en una vista toda la colección y en otra solo los objetos cuya categoría sea igual a "whiskys" , para lo cual preparo el objeto que pasaré a la vista
Código Javascript:
y escribo las rutasVer original
var cat = catalogo_de_productos.where({categoria: "whiskys"}); var whiskys = { productos : JSON.parse(JSON.stringify(cat)) }; console.log(whiskys); // { productos : [ { nombre : "black label x750", precio: 577, categoria : "whiskys" }, { nombre : "red label x750", precio: 363, categoria : "whiskys" }]}
Código Javascript:
Las rutas funcionan perfecto pero no se como pasar el objeto "whiskys" previamente preparado para que funcione dentro de la función de ruta tambien llamada "whiskys". Ver original
var Ruta = Backbone.Router.extend({ routes : { "" : "todos", "whiskys" : "whiskys" }, todos : function () { console.log("todos los productos"); }, whiskys : function () { console.log("solo los whiskys"); } }); var appRouter = new Ruta(); Backbone.history.start();
Espero me puedan echar una mano en este punto, desde ya les agradezco si pueden compartirme algun link para estudiar.
Un saludo