我正在使用ngTable,并且有一个在$http
请求的成功块中调用的函数:
$scope.setDataTable = function() {
if($scope.tableData == undefined) return;
$scope.tableParams = new ngTableParams({
page: 1, // show first page
count: 10, // count per page
filter: {
title: '',
details: ''
}
}, {
total: $scope.tableData.length,
getData: function($defer, params) {
var filteredData = params.filter() ? $filter('filter')($scope.tableData, params.filter()) : $scope.tableData;
var filteredDataPage = filteredData.slice((params.page() - 1) * params.count(), params.page() * params.count());
params.total(filteredData.length);
$scope.tableParams.total(filteredData.total);
return $defer.resolve(filteredDataPage);
}
});
}
在与$http
:
$http.
post('/rest/TheData', {
args : $scope.args
}).
success(function(data){
$scope.tableData = data;
$scope.setDataTable();
}).
error(function(data){
});
这是第一次工作,即第一次调用http成功时,表看起来是正确的。但是第二次,数据不会更新。我该怎么办?
我读过关于诸如
之类的黑客攻击$scope.forceReloadTable = function(){
$timeout($scope.setDataTable, 100)
}
但这没有帮助。