【发布时间】:2016-08-18 05:46:06
【问题描述】:
我一直在尝试合并dir-pagination-controls,但无法根据所选页面显示页面。
<div ng-controller="TableController as tc">
<table>
<tbody dir-paginate="order in tc.orders | itemsPerPage: 10" total-items="tc.totalOrders" current-page="currentPage">
<tr ng-click="tc.showOrderDetail(order.id)">
<td ng-bind="order.id"></td>
<!-- Simliar lines are here -->
</tr>
</tbody>
</table>
<dir-pagination-controls
boundary-links="true"
on-page-change="tc.pageChangeHandler(newPageNumber)"
template-url="dirPagination.tpl.html">
</dir-pagination-controls>
</div>
这个table 显示了我的期望。但是,当我按下任何按钮时,生成的分页控制器不会显示下一页。
这是脚本的相关部分。
angular.module('adminAngular', ['ui.bootstrap','dialogs.main','angularUtils.directives.dirPagination'])
.controller('TableController', function($http){
var instance = this;
this.orders = [];
$http({
//works fine
}).then(function (response) {
instance.orders = response.data;
instance.totalOrders = instance.orders.length;
//The "instance.orders" gets the expected data, and used for in dir-paginate="order in tc.orders
});
this.pageChangeHandler = function(num) {
console.log('going to page ' + num);
};
this.pageChanged = function(newPage) {
getResultsPage(newPage);
};
更新 pageChangeHandler 显示按下了哪个按钮,但页面没有改变。 (其他都很好。)
这段代码基于the official document and its demo,但我找不到真正的错误。
如果您能提供任何建议,我将不胜感激。
【问题讨论】:
-
不应该是 on-page-change="pageChangeHandler(newPageNumber)" 行 on-page-change="tc.pageChangeHandler(newPageNumber)" 吗?
-
你是对的!!我会修复这个帖子...
-
您是否在任何地方调用 this.pageChanged() 方法?我猜你可能不得不从 pageChangedHandler() 函数中调用它。
标签: javascript php angularjs pagination dirpagination