Javascript 使用异步数据对表进行分页

Javascript 使用异步数据对表进行分页,javascript,angularjs,pagination,Javascript,Angularjs,Pagination,我试图遵循这个ngTable分页示例 $scope.tableParams = new ngTableParams({ page: 1, // show first page count: 10 // count per page }, { total: data.length, // length of data getData: function ($defer, params) { $defer.r

我试图遵循这个ngTable分页示例

 $scope.tableParams = new ngTableParams({
    page: 1,            // show first page
    count: 10           // count per page
}, {
    total: data.length, // length of data
    getData: function ($defer, params) {
        $defer.resolve(data.slice((params.page() - 1) * params.count(), params.page() * params.count()));
    }
})
我对
total:data.length
属性有问题,因为我是通过rest从服务器获取此数组的,所以我的数组长度在开始时是0。我可以将其设置为一个静态值,但这只能在我单击页面上的某个位置后才起作用,如果我的数组大于该值,我将丢失项目

我下面的例子是


我是否可以用其他方式完成分页,或者我是否可以以某种方式更新data.length值?

getData方法中,进行API调用以获取数据,并且在成功回调中收到数据后,解析承诺并如下设置总参数:

//set the table params total value
params.total(data.length);
// set new data
$defer.resolve(data);

getData
中进行api调用,并将
total
属性设置为:

params.total(data.length);

这可能会有所帮助。

研究angularjs数据绑定和$scope。$apply