2017-01-30 6 views
0

Я пытаюсь реализовать разбиение на страницы в моем проекте с использованием ember-cli-pagination, но это не работает. У меня есть что-то подобное в контроллере:Pagination in Ember с использованием ember-cli-pagination

import Ember from 'ember'; 
import pagedArray from 'ember-cli-pagination/computed/paged-array'; 

export default Ember.Controller.extend({ 
    // setup our query params 
    queryParams: ["page", "perPage"], 

    // set default values, can cause problems if left out 
    // if value matches default, it won't display in the URL 
    page: 1, 
    perPage: 10, 

    // can be called anything, I've called it pagedContent 
    // remember to iterate over pagedContent in your template 
    pagedContent: pagedArray('car', {pageBinding: "page", perPageBinding: "perPage"}), 

    // binding the property on the paged array 
    // to a property on the controller 
    totalPagesBinding: "pagedContent.totalPages" 
}); 

В документации, где я поставил автомобиль, назван контент. Я предполагаю, что это массив объектов, которые я хочу разбивать на страницы.

Проект находится здесь https://github.com/mcand/contazul-frontend-test/tree/emberdata на ветке emberdata.

Буду признателен, если кто-нибудь сможет мне помочь.

ответ

0

У меня нет большого опыта работы с этим надстройкой, и я не прошел через ваш код.

Я думаю, что ваша проблема заключается в том, что вы привязываете pagedArray к «автомобилю» вместо «модели» или «контента», потому что я не вижу, где вы определили вычисленное свойство «автомобиль» на этом контроллере.

Так вы хотите:

pagedArray('content', {pageBinding: "page", perPageBinding: "perPage"}) 

Кроме того, вы можете захотеть CarsController продлить ArrayController вместо контроллера.

+0

У меня возникла эта ошибка: "ember.debug.js: 3894 Uncaught TypeError: Невозможно прочитать свойство 'extend' undefined, когда я расширяю ArrayController. Я не нашел никакой информации о ArrayController в Ember 2, только в предыдущей версии. – andrefurquin

+0

Кажется, что ArrayController устарел в соответствии с создателем аддона. Вместо этого вы должны использовать Controller. Он все еще не работает, я попытаюсь понять, почему. – andrefurquin

+0

Даже с изменением pagedArray ('car' ...,) на pagedArray ('content', ..)? Вы также можете попробовать pagedArray ('model', ...), хотя я не думаю, что если контент будет работать, изменение его на модель будет работать – GManProgram