Как использовать маршрутизаторы PushState в Backbone.js - PullRequest
0 голосов
/ 23 февраля 2012

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

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 Ответ

4 голосов
/ 23 февраля 2012

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

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

...