角度分页,通过控制器设置第一页

Angular pagination, set first page via the controller

本文关键字:控制器 设置 第一页 分页      更新时间:2023-09-26

我正在使用一个角度分页指令,我想做一些我希望应该相当简单的事情。

与其默认为第一页,我更希望可以选择设置用户启动的页面。所以理想情况下,可以这样做。

在html 中

<pagination total-items= "resultCount" ng-model= "currentPage" ng-change= "pageChanged()"></pagination>

在我的控制器中

$scope.currentPage = 3;
$scope.pageChanged = function() {
    alert($scope.currentPage + " is the current page.");
}

每次,警报信息都显示

"1 is the current page."

所以这个告诉我一些事情。。pageChange被调用,可能是在$scope.currentPage从3变为1时。为了进一步测试这一点,当我在控制器中将$scope.currentPage设置为1时,pageChanged函数不会被触发。我猜,当DOM元素初始化时,它默认为1,这改变了我以前的值3。

我认为这才是问题的关键。。。如何强制此指令使用我想要的值,而不是默认值1?不幸的是,我在文档页面上找不到这样的东西,指令仍然让我有些困惑。

您的观察是正确的。要解决此问题,您需要仅在您的数据(或总项目)进入时设置$scope.currentPage。

$scope.setCount = function(){
  $scope.resultCount = 100;
  $scope.currentPage = 3;
}

Fiddle