Javascript 获取页面加载时的路由

Javascript 获取页面加载时的路由,javascript,backbone.js,Javascript,Backbone.js,如何在(首次)页面加载时获取当前路由 myRouter = new app.Router(); Backbone.history.start(); myRouter.on("route", function(route, params) { console.log(route); }); 这适用于每个路由,但不适用于第一个路由(或页面刷新)。它不起作用的原因是您在触发事件后绑定了一个事件 这将解决问题: myRouter = new app.Router(); myRouter.on

如何在(首次)页面加载时获取当前路由

myRouter = new app.Router();
Backbone.history.start();

myRouter.on("route", function(route, params) {
    console.log(route);
});

这适用于每个路由,但不适用于第一个路由(或页面刷新)。

它不起作用的原因是您在触发事件后绑定了一个事件

这将解决问题:

myRouter = new app.Router();
myRouter.once("route", function(route, params) {
    console.log(route);
});
Backbone.history.start();
但更好的方法是在路由器中使用

它会触发一次,然后会自动解除绑定

或者,如果您只想知道哪条路线:

myRouter = new app.Router();
Backbone.history.start();

console.log(Backbone.history.getFragment()); // or .getPath()
myRouter = new app.Router();
Backbone.history.start();

console.log(Backbone.history.getFragment()); // or .getPath()