Я пытаюсь ввести разбивку на страницы, используя requestPager
.Confused with Backbone.js Paginator
Проблема: После настройки collection
, который проходит 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>
Отлично! Я обновился до 1.3.3 и эта ошибка исчезла! Теперь я получаю сообщение об ошибке с помощью функции '_.template', это не похоже на' <% if (<% = address_2%>) {%>, <% = address_2%><%}%> 'больше! – Nyxynyx
Какой шаблонный движок вы используете? Синтаксис выглядит несколько запутанным ... Я использую Handlebars, и это потрясающе. –
Я использую механизм шаблонов по умолчанию, который поставляется с backbone.js/underscore.js. Я рассмотрю Handlebars, спасибо! – Nyxynyx