Tengo una aplicación que funciona con Backbone 0.5.3, que ya no funciona con la red troncal 0.9.2.Ruta troncal no se llama
Identifiqué que Router.navigate() no llama a mi ruta por algún motivo.
Aquí es mi Router:
var Router = Backbone.Router.extend({
routes: {
'/mypage': 'mypage',
},
mypage: function() {
// show page ...
}
});
Llamando la ruta manualmente al igual que funciona bien:
Router.mypage()
También probé para sobrescribir el método .navigate de columna vertebral para depurar mi aplicación ...
var Router = Backbone.Router.extend({
routes: {
'/mypage': 'mypage',
},
navigate: function(fragment, options) {
console.log("navigate called");
Backbone.history.navigate(fragment, options);
},
mypage: function() {
// show page ...
}
});
... parece que se llama .navigate pero ...
Backbone.history.navigate(fragment, options);
... simplemente no llama a la ruta.
estoy usando pushState, aquí es mi llamada inicial:
Backbone.history.start({
root: '/',
pushState: true,
silent: true
});
bastante bueno en ello sin las raíces y silenciosos parámetros - sin éxito.
De nuevo: Esto funciona usando Backbone 0.5.3.
Gracias a todos por la respuesta!
Achim
Hola, @mu es demasiado corto, gracias, ya lo he comprobado. la ruta no se encuentra con y sin una barra inicial y/o posterior. Llamar a App.Router.mypage() funciona bien, por lo que debe ser algo sobre la coincidencia de ruta. –
¡Vaya! ¡Tienes razón, solo revisaste mis rutas y esto lo solucionó! Btw: El nuevo comportamiento sobre las barras diagonales principales en las rutas se menciona en el registro de cambios de la red troncal para la versión 0.9 [http://backbonejs.org/#changelog](http://backbonejs.org/#changelog) –
@Achim: Gracias para verificar el registro de cambios –