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;
}
我正在使用 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;
}