Javascript 如何对动态AngularJS表进行分页?

Javascript 如何对动态AngularJS表进行分页?,javascript,angularjs,pagination,ngtable,Javascript,Angularjs,Pagination,Ngtable,如何使用ng表动态和$http工作实现分页 表的HTML规范是 <table class="table-bonds table table-bordered table-hover table-striped" export-csv="csv" separator="," show-filter="true" ng-table-dynamic="bondsTable.bondsDataParams with bondsTable.bondsDataCols">

如何使用ng表动态和$http工作实现分页

表的HTML规范是

<table class="table-bonds table table-bordered table-hover table-striped"
   export-csv="csv"
   separator=","
   show-filter="true"
   ng-table-dynamic="bondsTable.bondsDataParams with bondsTable.bondsDataCols">
<tr ng-repeat="row in $data">
    <td class="hand"
        ng-repeat="col in $columns">{{::row.node[col.field]}}</td>
</tr>

AngularJS 1.5.8

是分页的优秀指令,请看一看。它有很多选项,而且易于使用。

是分页的一个很好的指令。请查看它。它有很多选项,而且易于使用。

主要的问题是通过ajax加载数据时出现混淆,并且不支持请求服务器端的筛选/分页

要么预先提供所有数据,以便表可以进行筛选,要么完全支持服务器端的分页、排序和筛选

备选案文1。在手之前加载数据。我之所以使用这个选项,是因为我的数据集并没有那么大,而且它似乎是允许人们使用过滤、排序和下载的所有排列的最简单的方法

此处不需要总值。数据已全部加载

var Api = $resource('/green-bonds.json');

// Or just load all the data at once to enable in-page filtering, sorting & downloading.
Api.get({page: "1", count: "10000"}).$promise.then(function (data) {
   self.bondsDataParams = new NgTableParams({count: 25}, {
      dataset: data.results
    })
}); 
或者完全支持延迟加载数据API并设置总计。使用getData:而不仅仅是设置dataset

var Api = $resource('/green-bonds.json');

this.bondsDataParams = new NgTableParams({}, {
    getData: function (params) {
      return Api.get(params.url()).$promise.then(function (data) {
        params.total(data.count);
        return data.results;
    });
  }
});
注1:默认情况下,$resource需要一个object.get()作为对象,query()作为数组。另请参见isArray:。我没有让它工作


注2:params.url()为$resource提供ng表参数。e、 g.{page:“1”,count:“10”}

主要问题是通过ajax加载数据时出现混乱,并且不支持请求服务器端的筛选/分页

要么预先提供所有数据,以便表可以进行筛选,要么完全支持服务器端的分页、排序和筛选

备选案文1。在手之前加载数据。我之所以使用这个选项,是因为我的数据集并没有那么大,而且它似乎是允许人们使用过滤、排序和下载的所有排列的最简单的方法

此处不需要总值。数据已全部加载

var Api = $resource('/green-bonds.json');

// Or just load all the data at once to enable in-page filtering, sorting & downloading.
Api.get({page: "1", count: "10000"}).$promise.then(function (data) {
   self.bondsDataParams = new NgTableParams({count: 25}, {
      dataset: data.results
    })
}); 
或者完全支持延迟加载数据API并设置总计。使用getData:而不仅仅是设置dataset

var Api = $resource('/green-bonds.json');

this.bondsDataParams = new NgTableParams({}, {
    getData: function (params) {
      return Api.get(params.url()).$promise.then(function (data) {
        params.total(data.count);
        return data.results;
    });
  }
});
注1:默认情况下,$resource需要一个object.get()作为对象,query()作为数组。另请参见isArray:。我没有让它工作

注2:params.url()为$resource提供ng表参数。e、 g.{页码:“1”,计数:“10”}