ngTable 不显示行

ngTable is not showing rows

在这个 plunker 中,我有一个本应显示两行的 ngTable,但它只显示 header。这段代码有什么问题?

Javascript

var app = angular.module('app', ['ngTable']);

app.controller('myCtl', function($scope,$timeout,NgTableParams) {

      $timeout(function() {

          $scope.data = [ 
            { uid: 'User 1', nm: 'Name 1', ugr: 'Group 1'},
            { uid: 'User 2', nm: 'Name 2', ugr: 'Group 2'}
          ];

          $scope.tableParams = new NgTableParams({dataset: $scope.data});

    }, 1000);


  $scope.toggleFilter = function (){
     $scope.showFilter = !$scope.showFilter;
  };


});

HTML

<div ng-controller="myCtl" ng-app="app">

    <a href="javascript:void(0)" ng-click="toggleFilter()">Toggle Filter</a>
    <table ng-table="tableParams" show-filter="showFilter" class="table table-bordered">
        <tbody>
            <tr ng-repeat="u in $data">
                <td title="'User ID'" filter="{ uid: 'text' }" sortable="'uid'" style="width:150px">{{ u.uid }}</td>
                <td title="'Name'" filter="{ nm: 'text' }" sortable="'nm'" style="width:150px">{{ u.nm }}</td>
                <td title="'Group'" filter="{ ugr: 'text'}" sortable="'ugr'" style="width:200px">{{ u.ugr }}</td>
            </tr>
        </tbody>
    </table>

</div>

更新:此答案不正确,请参阅标记为 "correct" 的答案。

如果您在 HTML 中将“$data”更改为 'data',它会起作用。

<table ng-table="tableParams" show-filter="showFilter" class="table table-bordered">
        <tbody>
            <tr ng-repeat="u in data">
                <td title="'User ID'" filter="{ uid: 'text' }" sortable="'uid'" style="width:150px">{{ u.uid }}</td>
                <td title="'Name'" filter="{ nm: 'text' }" sortable="'nm'" style="width:150px">{{ u.nm }}</td>
                <td title="'Group'" filter="{ ugr: 'number'}" sortable="'ugr'" style="width:200px">{{ u.ugr }}</td>
            </tr>
        </tbody>
    </table>

看这里:http://plnkr.co/edit/WlPVGYjSshLkwbJ78xNO?p=preview

NgTable 网站上的示例使用 v1.0.0-beta.9,所以我猜它们可能有点过时了。

正确答案:

抱歉,我第一次回答太仓促了。我的解决方案修复了它,但它不正确。

真正的问题是您需要在控制器中将 'dataset' 更改为 'data',如下所示(使用 NgTable v.0.8.3):

$scope.tableParams = new NgTableParams({count: 5}, {data: $scope.data});

我也加了计数,不然一次显示一个项目。

笨蛋:http://plnkr.co/edit/plDiFc4CCmrIf5YOeD5M?p=preview