提问者:小点点

angularjs ng-table下一页发送ajax


我从服务器端获取日期并显示在ng-table中,但我不知道当我单击下一页按钮时如何向服务器端发送ajax请求

var query = sysAuthorityService.getData('code', 'name');
var data = [];
query.get(function(myData) {
  data = myData.data.list;
  $scope.tableEdit = new ngTableParams({
    page: 1,            // show first page
    count: 10           // count per page
  }, {
    total: myData.data.total, // length of data
    getData: function($defer, params) {
      $defer.resolve(data.slice((params.page() - 1) * params.count(), params.page() * params.count()));
    }
  });
});

这是我第一次使用AngularJS,当我想分页时,我们需要从服务器端加载所有数据,并通过ng-table分页?


共1个答案

匿名用户

你应该重写getData函数。例如,以下是我项目中的一些代码:

{
total: 0
getData: function($defer, params){
            var filter = params.filter();
            var sorting = params.sorting();
            var count = params.count();
            var page = params.page();
            taskService.get_task_instance(page, count, filter, sorting, $stateParams.id).then(function(data){
                var total = parseInt(data['total']);
                params.total(total);
                $defer.resolve(data['msg']);
            });
        }
}