0

我正在尝试使用主干.js 分页器插件来引入分页requestPager

问题:设置collectionwhich extends后Backbone.Paginator.requestPager,我刷新了网页,javascript控制台抛出了错误:

Uncaught TypeError: Object function (a){return new m(a)} has no method 'result' backbone.paginator.js:678

我对骨干很陌生,不确定出了什么问题。是因为我使用fetch()了,出现在下面的错误截图中吗?我还注意到没有GET请求发送到后端。发生了什么,我应该如何解决这个问题?谢谢!

JS代码

// Collection

window.ListingCollection = Backbone.Paginator.requestPager.extend({
    model: Listing,

    paginator_core: {
        type: 'GET',
        dataType: 'jsonp',
        url: 'api/listings'
    },

    paginator_ui: {
        firstPage: 0,
        currentPage: 0,
        perPage: 10,
        totalPages: 10
    },

    server_api: {
        '$filter': '',
        '$per_page': function() { return this.perPage; },
        '$current_row': function() { return this.currentPage * this.perPage; },
        '$order_by': 'listing_id'
    },

    parse: function(response){
        this.totalPages = Math.floor(response.total_rows / this.perPage);
    }

});

JS代码

// Router
var AppRouter = Backbone.Router.extend({
    routes: {
        '': 'listings',
        'listings': 'listings'
    },

    listings: function() {
        var self = this;

        // Load initial search results
        this.listingList = new ListingCollection();
        this.listingList.fetch({
            success: function() {
                self.listingListView = new ListingListView({ model: self.listingList });
                $('#listing_list table').append(self.listingListView.render().el);
            }
        });
        this.listingFilterView = new ListingFilterView();
    }
});

Javascript 控制台中的错误截图 在此处输入图像描述

在此处输入图像描述

JS 包括

<!-- JavaScript -->
<script src="assets/js/lib/jquery-1.7.1.min.js"></script>
<script src="assets/js/lib/underscore-min.js"></script>
<script src="assets/js/lib/backbone-min.js"></script>
<script src="assets/js/lib/backbone.paginator.js"></script>
<script src="assets/js/lib/bootstrap.js"></script>
<script src="assets/js/lib/bootstrap-datepicker.js"></script>
<script src="assets/js/app.js"></script>   
4

1 回答 1

4

您可能正在使用旧版本的下划线。我使用 1.3.1,它没有result()方法。下载他们的新生产版本 1.3.3 - 它有result().

于 2012-06-20T15:42:48.110 回答