2011-11-08 2 views
1

Cela fonctionne.Le routage initial du backbone lors du chargement de la page n'est pas déclenché lors de l'utilisation de router.route

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"); 
    } 
}); 

Cela ne fonctionne pas.

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"); 
    } 
}); 

Est-ce la fonctionnalité correcte de router.route?

Répondre

0

Je suppose que vous utilisez {pushState: true} sur la base des exemples d'URL que vous avez publiés. Pouvez-vous essayer ce qui suit?

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

Oui, cela a fonctionné. Mais pourquoi l'expression rationnelle ne serait pas déclenchée en charge? – erickreutz

+0

bien ma prochaine suggestion allait être d'enlever la barre oblique avant. Pouvez-vous essayer '/^admin $ /' comme votre expression regEx? – timDunham

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

envisagez d'expliquer votre réponse au lieu de simplement afficher un code que les autres pourraient comprendre ou ne pas comprendre – ADyson

Questions connexes