找出Backbone“路由器”实际上得到了什么

时间:2012-08-05 18:52:27

标签: javascript backbone.js backbone-events backbone-routing

尝试让骨干路由器工作。在其中一种情况下,没有任何事情发生,因此很难确定问题。

有没有办法找出路由器实际接收的内容,以便我可以尝试查明路由问题?

这是到目前为止的代码:

// ROUTER
var TheRouter = Backbone.Router.extend({
    // ROUTES
    routes: {
        "":               "main",
        "/route1/:key":   "route1"

    },
    // INITIALIZE
    initialize: function() {
        _.bindAll(this);
    },

    // ROUTES
    main: function(){
        alert('main');
    },

    route1: function(key){
        alert(key);
    }

});

// Create new router
var theRouter = new TheRouter();
// Start history
Backbone.history.start({pushState: true});

非常感谢!

2 个答案:

答案 0 :(得分:1)

您可以绑定route上的Backbone.history事件。根据{{​​3}},您可以从该事件获取进入路由器的所有信息,这意味着您应该能够console.log

答案 1 :(得分:1)

您需要从第二条路线的开头删除斜杠。 所以

    "/route1/:key":   "route1"

行变为

    "route1/:key":   "route1"

如果您仍然没有得到任何反馈,请确保以正确的顺序定义了相关脚本(jquery.js,underscore.js,backbone.js,yourRouter.js)。