骨干路由器没有派遣?

时间:2012-03-07 16:24:36

标签: backbone.js router

我是骨干0.9.1的新手。 我发现当我更改哈希时,我无法在我的演示中触发哈希更改。 我的网址是http:// [...] / backbone / #help。我想我应该收到一条警告信息“帮助”,但我不是。

$(function() {
    var App = {
        Controllers:{},
        initialize: function(){
            new App.Controllers.Routes();
            var h = new Backbone.History();
            h.start({root: '/backbone/'});
        }
    };

    App.Controllers.Routes = Backbone.Router.extend({
        routes: {
            "help":                 "help",
            "search/:query":        "search",
        },

        help: function() {
            alert("help");
        },

        search: function(query) {
            alert("search");
        }
    });

    App.initialize();
});

是否存在一些误解或误用?

1 个答案:

答案 0 :(得分:1)

您无需自己实例化History对象。此外,如果您不使用pushstate,则无需在启动选项中指定root

因此,您的initialize方法应如下所示:


        initialize: function(){
            new App.Controllers.Routes();
            Backbone.history.start();
        }