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

Angular pagination, set first page via the controller

我正在使用 angular pagination directive,我想做一些我希望应该相当简单的事情。

我不想默认到第一页,而是想要设置用户启动页面的选项。理想情况下,像这样。

在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 时。为了进一步测试这一点,当我设置 $[= 时 pageChanged 函数没有被触发29=]在控制器中等于1。我猜当 DOM 元素被初始化时,它默认为 1,这改变了我之前的值 3.

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

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

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

Fiddle