我按照http://bazalt-cms.com/上的示例进行了分页,但是使用了$http.get
而不是对控制器中的变量进行硬编码。
$http.get("data.json").success(function(data){
$scope.dataset = data;
}
我还移动了$scope.tableParams
$http.get
$http.get("data.json").success(function(data){
$scope.dataset = data;
$scope.tableParams = new ngTableParams({
...
}
});
并将data
变量更改为$scope.dataset
total: $scope.dataset.length, // length of data
getData: function($defer, params) {
$defer.resolve($scope.dataset.slice((params.page() - 1) * params.count(), params.page() * params.count()));}
除了分页现在不起作用See Plnkr here
之外,一切正常答案 0 :(得分:8)
我已经与 ng-table
合作了一段时间。当我尝试使用$data
或data
以外的变量名称时,它似乎不起作用。所以我建议你应该坚持使用$data
或data
而不是像dataset
这样的任何其他变量名。
这是一个有效的Plunker。
更新:
看起来我错过了OP问题中的错误。正如评论中提到的 Tyler Collier 和 yunus kala 一样,您只需使用$data
代替<tr ng-repeat="user in $data">
代替<tr ng-repeat="user in dataset">
。如果您在控制器代码中使用data
或dataset
,则无关紧要。
答案 1 :(得分:0)
看看这里ng-Table not rendering new data when reloading request
首先应该为ng-repeat
变量应用指令$data
,并将ngtableParams
初始化移到success
回调之外,并将getData
内部所有逻辑放入数据acsess