Как использовать PushState роутеры в Backbone.js

Я использую роутер ниже

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 pushState опция в backbone.js. выполнив ниже., так как файлы обслуживаются из файла index.html. Это просто alerts не показывает при использовании API pushstate HTML5, но радостно показывает при использовании URL-адресов hashbang.

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

1 ответ

Решение

root вариант в Backbone.history.start это путь, а не ресурс.

Также убедитесь, что вы убили ведущих / в ваших маршрутах, так "p/:id" вместо "/p/:id"Это должно помочь вам.

Другие вопросы по тегам