2017-05-11 39 views
1

改變輸入我有這樣的問題:壞重裝與Angularjs ngTable

我想用ngTable與TableParams負載和更改表。

這裏的示例:

頁面的初始化後,如果,對於第一次,則在文本框中插入的數,角給我一個數表中的行的,但對於第二(第三...)如果我插入其他數字,表格不刷新。

$scope.tableParams = new NgTableParams({ 
      page: 1, // show first page 
      count: 10 // count per page 
     }, { 
      total: data.length, // length of data 
     getData: function($defer, params) { 
     params.total(data.length); 
       $defer.resolve(data.slice((params.page() - 1) * params.count(), params.page() * params.count())); 
      } 
     }); 

http://jsfiddle.net/xidius/781qkzq0/49/

我不知道是否有可能使用tableparams.reload()在這種情況下。

感謝您的幫助

回答

0

通過結合getData回調, 你已經創建了一個不必要的關閉,這似乎是你想要的不是定義data作爲一個局部變量。

這裏是你如何解決這個問題:

$scope.data = demoDataGenerator.generateData(intero); 
$scope.cols = demoDataGenerator.generateColumns($scope.data[0]); 

if (!$scope.tableParams) { 
    $scope.tableParams = new NgTableParams({ 
    page: 1, // show first page 
    count: 10 // count per page 
    }, { 
    total: $scope.data.length, // length of data 
    getData: function ($defer, params) { 
     params.total($scope.data.length); 
     $defer.resolve($scope.data.slice((params.page() - 1) * params.count(), params.page() * params.count())); 
    } 
    }); 
} else { 
    $scope.tableParams.total($scope.data.length); 
    $scope.tableParams.reload(); 
} 

以下是更正小提琴: http://jsfiddle.net/kx77f4xk/1/