0

私はbackbone.jspaginatorプラグインを使用してページ付けを導入しようとしていますrequestPager

問題:collection extendsを設定した後Backbone.Paginator.requestPager、Webページを更新すると、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 に答える