2016-06-29 4 views
0

に配列をロードすることはできませんテーブルではなく、データではありません。結果はスクリーンショットにある:は、私は小型でシンプルな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を作成しました

ここ

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関数を呼び出している

あなたは、あなたが作業plunkerを持ってcreateTable

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

Hereに呼び出す前に、この行を配置する必要があります。

+0

今すぐ動作します!ありがとう〜 と私の最終版は、HTMLファイルのバグを修正して、 "コメント" –

関連する問題