Это работает.
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"); } });
Это не работает.
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"); } });
Это правильная функциональность router.route?
Backbone.history.start({ silent: false });
Я предполагаю, что вы используете {pushState: true} на основе примеров URL, которые вы опубликовали. Можете ли вы попробовать следующее?
{pushState: true}
this.route("admin", "home", function() { that.home(); });