后 骨干.历史.导航 无法转到上一页



我正在使用像下面的骨干,如果用户单击.next,请更改URL,而Ajax发送片段加载数据。
用户单击.next仅更改URL后,我有问题,浏览器GO上一页无法正常工作,如何求解它?

我也只是开始学习骨干,请帮助我查看我的代码,任何建议都会很感激。

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>

您的浏览器无法向后移动,因为您使用replace: true选项调用Backbone.history.navigate,该选件可更新URL而不在浏览器的历史记录中创建条目。因此,正确的代码将是:

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

来源:http://backbonejs.org/#router-navigate

最新更新