2015-12-02 63 views
2

我有一段简单的数据,我试图用Ng-Table进行测试。我跟着ng-table上的例子,但我假设数据集正在期待一个承诺,而不是一个数组。我看到的唯一区别是我如何处理$ scope。为什么ngTable不接受我的数据集?

我的例子工程,如果我把数据变量的范围,而不是从我的js文件传递给tableParams,但后来我失去了过滤器的功能。

吴-表例如: https://github.com/esvit/ng-table/blob/master/examples-old/demo15.html

我的代码 HTML

<div ng-app="Pulse"> 
<div ng-controller="MainController as main"> 
    <table ng-table="main.groupTable" class="table" show-filter="true"> 
     <tr ng-repeat="user in $data" 
      <td title="'Name'" filter="{ name: 'text'}" sortable="'name'"> 
       {{user.name}}</td> 
     </tr> 
    </table> 
</div> 

的js

var app = angular.module("Pulse", ['ngTable']) 
    .controller("MainController", MainController); 

function MainController ($scope, NgTableParams) { 
    var self = this; 
    var data = [{name: "Moroni", age: 50}]; 
    $scope.groupTable = new NgTableParams({}, { dataset: data}); 
}; 
+1

变量名称不匹配。在你的JS中你有'$ scope.groupTable',但在HTML中有'$ scope.tableParams'。另外,在HTML中引用'$ scope'是不正确的。改用'ng-table =“groupTable”'。 – Claies

+0

是啊我试过切换,它给你的建议,但它仍然不渲染。我试着放入一个调试器并检查groupTable,变量$ data在它加载到页面上时是空的。 – user5596792

回答

14

目前,NG-表使用 '数据' 属性,而不是“数据集”。我想他们只是忘了更新文档。所以只写:

$scope.groupTable = new NgTableParams({}, { data: data}); 

它应该工作。

+0

这解决了我,欢呼! – fitzpaddy

+0

时间浪费,直到我读你的答案:( – Gareth

3

新版本(1.x)使用​​'dataset'属性,但旧版本(0.8.3测试)使用'data'属性

相关问题