2016-06-29 5 views
0

에 배열을로드 할 수 없습니다 나는 작고 간단한 ngTable 데모를 작성하려했으나 문제가있어 :이 ngTable

내가 ngTable에 배열을 넣어하려고하면 브라우저의 헤드 라인을 보여줍니다 테이블에는 있지만 데이터는 없습니다. 결과는 스크린 샷입니다 :

enter image description here

모든 코드는 plunker

에 여기에 "데이터"입니다 :

var books = [ 
 
\t \t { 
 
\t \t \t "name": "Html from start to give up", 
 
\t \t \t "price": 2, 
 
\t \t \t "comment": "An awesome book to be a pillow", 
 
\t \t \t "available": true 
 
\t \t }, 
 
\t \t { 
 
\t \t \t "name": "AngularJS from start to give up", 
 
\t \t \t "price": 2, 
 
\t \t \t "comment": "Too hard to be a pillow", 
 
\t \t \t "available": false 
 
\t \t }];

가 여기에 방법입니다 ngTable을 만들었습니다.

여기 6,

vm.bookTable  = createTable(books); 
 
    
 
var initpageSize = Number(localStorage.getItem('page_size') || 20); 
 
    vm.pageSize  = initpageSize; 
 
    vm.pageSizes  = [10,20,30,50,100]; 
 
    
 
    function createTable(data){ 
 
    var initParams = { 
 
     sorting: {name: "asc"}, 
 
     count: vm.pageSize 
 
    }; 
 
    var initSettings = { 
 
     counts: [], 
 
     paginationMaxBlocks: 13, 
 
     paginationMinBlocks: 2, 
 
     dataset: data 
 
    }; 
 
    return new NgTableParams(initParams, initSettings); 
 
    
 
    }

와는 HTML의 일부입니다

<body ng-controller="myController as vm"> 
 
    <div> 
 
     <table ng-table= "vm.bookTable" 
 
      class = "table" 
 
      show-filter="true"> 
 
     <tr ng-repeat="row in $data"> 
 
     \t \t <td title = "'name'" filter="{name: 'text'}" sortable="'name'"> 
 
     \t \t \t {{row.name}} 
 
     \t \t </td> 
 
     \t \t <td title = "'price'" filter="{price: 'number'}" sortable="'price'"> 
 
     \t \t \t {{row.price}} 
 
     \t \t </td> 
 
     \t \t <td title = "'comment'" filter="{comment: 'number'}" sortable="'comment'"> 
 
     \t \t \t {{row.count}} 
 
     \t \t </td> 
 
      
 
     </tr> 
 
     
 
     </table> 
 
     
 
    </div> 
 
    
 
    
 
    <p>Hello {{vm.name}}!</p> 
 
    </body>

답변

1

귀하의 오류가 너무 initParams.counts이 정의되지는 initpageSize 을 설정하기 전에 당신이 createTable 함수를 호출한다

당신은 당신이 createTable

var initpageSize = Number(localStorage.getItem('page_size') || 20); 
    vm.pageSize  = initpageSize; 
    vm.pageSizes  = [10,20,30,50,100]; 

Here 당신이 작업 plunker을 가지고 호출하기 전에이 라인을 넣어해야합니다.

+0

이제 작동합니다! 감사합니다 ~ 그리고 여기 내 마지막 버전입니다, HTML 파일에 버그를 수정하여 "의견" –