我正在尝试使用 backbone.js paginator plugin 引入分页的requestPager
。
问题:设置扩展Backbone.Paginator.requestPager
的collection
后,我刷新了网页,并且JavaScript控制台抛出了错误:
未捕获类型错误:对象函数 (a){return new m(a)} 没有方法“结果”backbone.paginator.js:678
我对 Backbone 很陌生,不确定出了什么问题。是否是因为我使用了 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>
最佳答案
您可能正在使用旧版本的 Underscore。我使用 1.3.1,它没有 result()
方法。下载他们的新作品version 1.3.3 - 它有result()
。
关于javascript - 与 Backbone.js Paginator 混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11122583/