0

我在下面使用路由器

App.Router.PersonRouter = Backbone.Router.extend({
    routes: {
        "": "homepage",
        "/p/:id": "getpost",
        "/p/:id/*file": "download"
    },
    homepage: function () {
        alert("requesting home page");
    },
    getpost: function (id) {
        alert("Requested post with id " + id);
    },
    download: function (id, file) {
        alert("person with id " + id + " is requesting file " + file);
    }
});

并开始尝试HTML5 pushStatebackbone.js 中的选项。通过执行以下操作。因为文件是从 index.html 文件提供的。只是alerts在使用 HTML5 pushstate api 时不显示,但在使用 hashbang url 时很高兴。

Backbone.history.start({pushState:true,root:"index.html"});
4

1 回答 1

4

中的root选项Backbone.history.start是路径而不是资源。

还要确保你杀死了/你的路线中的领先者,所以这"p/:id"应该"/p/:id" 让你继续前进。

于 2012-02-23T15:26:51.953 回答