La ruta troncal inicial en la carga de la página no se activa cuando se usa router.route

Esto funciona.

Admin.Routers.AppRouter = Backbone.Router.extend({
  // home() gets trigger when I visit http://example.com/admin
  routes: {
    "admin": "home"
  },

  initialize: function() {},

  home: function() {
    log("Home");
  }
});

Esto no funciona.

Admin.Routers.AppRouter = Backbone.Router.extend({
  initialize: function() {    
    var that = this;

    // home() DOES NOT get trigger when I visit http://example.com/admin
    this.route(/^\/admin$/, "home", function() {
      that.home();
    });
  },

  home: function() {
    log("Home");
  }
});

¿Es esta la funcionalidad correcta de router.route?

preguntado el 08 de noviembre de 11 a las 10:11

2 Respuestas

Supongo que estás usando {pushState: true} basado en las URL de ejemplo que ha publicado. ¿Puedes probar lo siguiente?

this.route("admin", "home", function() {
      that.home();
    });

respondido 08 nov., 11:18

Sí, funcionó. Pero, ¿por qué la expresión regular no se activará en la carga? - erickreutz

bueno, mi siguiente sugerencia iba a ser eliminar la barra inclinada hacia adelante. Puedes intentar /^admin$/ como su expresión regular? - timDunham

Backbone.history.start({ silent: false });

Respondido el 07 de Septiembre de 16 a las 20:09

considere explicar su respuesta en lugar de simplemente publicar un código que otros pueden o no entender el significado de: ADyson

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.