2017-01-30 6 views
0

ember-cli-pagination을 사용하여 프로젝트에서 페이지 매김을 구현하려고하는데 작동하지 않습니다. 컨트롤러에 다음과 같은 내용이 있습니다.ember-cli-pagination을 사용하는 Ember에서 페이지 매기기

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 : ArrayController를 확장하면 undefined의 'extend'속성을 읽을 수 없습니다. 나는 이전 버전에서만 Ember 2의 ArrayController에 대한 정보를 찾지 못했습니다. – andrefurquin

+0

ArrayController는 addon 작성자에 따라 사용되지 않습니다. 대신 컨트롤러를 사용해야합니다. 아직 작동하지 않고 있습니다. 이유를 알아 내려고 노력할 것입니다. – andrefurquin

+0

pagedArray ('car'...,)를 pagedArray ('content', ..)로 변경하더라도? 당신은 또한 pagedArray ('model', ...)를 시도 할 수 있습니다. 비록 컨텐트가 작동한다면 그것을 모델로 바꾸면 작동하지 않을 것이라고 생각하지 않습니다. – GManProgram