после Backbone.history.navigate не может перейти на предыдущую страницу

0

Я использую backbone, как .next ниже, чтобы попытаться сделать, если пользователь .next чтобы изменить URL-адрес и данные загрузки .next ajax.
У меня проблема после того, как пользователь .next только .next URL, браузер перейти на предыдущую страницу не может работать, как ее решить?

также я просто начинаю обучать магистрали, пожалуйста, помогите мне просмотреть мой код, любое предложение будет оценено.

var Core = function() {

    var Router = Backbone.Router.extend({
        routes: {
            '': 'func0', // root/article
            'page/:id': 'func1' // root/article/page/:id
        },
        func0: function(p0) {  // ajax send fragment load data
        },
        func1: function(p1) {  // ajax send fragment load data
        }
    });

    var Next = Backbone.View.extend({
        el: '.next',
        events: {
            'click': 'onClick'
        },
        onClick: function() {
            // console.log(Backbone.history.fragment); 
            // fragment to Backbone.history.navigate('page/'+fragment, {trigger: true, replace: true});

            // for example
            Backbone.history.navigate('page/10', {trigger: true, replace: true});
        }
    });
    return {
        init: function() {
            var router = new Router();
            Backbone.history.start({pushState: true, hashChange: false, root: '/root/public/article/'});

            var next = new Next();
        }
    }
}();

HTML

<div class="next">next</div>
Теги:
backbone.js

1 ответ

1
Лучший ответ

Ваш браузер не может вернуться назад, потому что вы вызываете Backbone.history.navigate с replace: true, который обновляет URL-адрес без создания записи в истории браузера. Таким образом, правильный код:

Backbone.history.navigate('page/10', {trigger: true, replace: false});

Источник: http://backbonejs.org/#Router-navigate

Ещё вопросы

Сообщество Overcoder
Наверх
Меню