2015-12-02 61 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'屬性

相關問題