Не можете получить магистральные маршруты без хэшей? - PullRequest
8 голосов
/ 26 ноября 2011

Я хочу иметь закладки для URL, которые браузер может захватывать и обрабатывать.Если я просто использую Backbone.history.start () , то я могу использовать URL-адреса хеширования, например / # account .

Но мне нужны URL без хэшей, а / account .Но я не могу заставить это работать, используя Backbone.history.start ({pushState: true}) (, как другие описали это ).Мои маршруты просты и взяты непосредственно из документации .


    MyRouter = Backbone.Router.extend({
        routes: {
            '/accounts': 'accounts',
        }
    });

Я использую Chrome (также пробовал с FF), и поведение таково, что запрос / accounts направляется прямо на сервер.Не перехватывается Backbone первым.Кто-нибудь сталкивался с этим?Как получить обработку хэша без URL с помощью Backbone?

Заранее спасибо

1 Ответ

17 голосов
/ 26 ноября 2011

Вы можете перейти к этому URL с помощью js, используя router.navigate( "/accounts", true ), а не по ссылкам или вводу URL самостоятельно.Чтобы использовать ссылки, вы должны привязать к ним событие click и предотвратить действие по умолчанию и вызвать call для перехода по ссылкам. Href.

router - это экземпляр Router

...