es probable que desee utilizar RenderContext render()
método de Sammy:
this.get('#/item/:id', function(context) {
this.item = this.items[this.params['id']];
if (!this.item) { return this.notFound(); }
this.render('templates/item_detail.template').then(function(content) {
$.fancybox({
content: content,
// set box size to fit the product details
autoDimensions: false,
width: 800,
height: 500
});
});
});
EDITAR Como ha señalado @drozzy la barra de direcciones se siguen cambiar con este método. Para evitar este comportamiento tendremos que interceptar el clic en el enlace que se debe abrir la ventana emergente y explícitamente iniciar la ruta de Sammy:
$(document).delegate("a[href^=#/item/]", "click", function(linkElement) {
// Determine and explicitly start Sammy's route for the clicked link
var path = linkElement.currentTarget.href.replace(/^[^#]*/, "");
Sammy('#main').runRoute('get', path);
// cancel the default behaviour
return false;
});
Tenga en cuenta que este ejemplo se utiliza un selector de enlaces con rutas que comienzan con #/item/
a juego. Si esto no es lo suficientemente específico, probablemente debería ser algo más adecuado, p. clases de marcadores
(Esto utiliza jQuery 1.4.3, tal como se utiliza en la demo JSON tienda.)
Tengo el mismo problema: http://stackoverflow.com/questions/8827136/modal-dialog-in- sammy-js Pero creo que tu pregunta es más específica. De hecho, le pondré una recompensa. – drozzy