如何为angular pagination自定义模板赋值?

时间:2017-01-18 07:38:02

标签: javascript angularjs pagination angular-ui-bootstrap angular-ui

我正在使用角度分页的自定义模板:

            <uib-pagination
                boundary-links="(vm.pagination.boundaryLinks == false) ? false : true"
                num-pages="vm.pagination.numPages"
                total-items="vm.pagination.totalItems"
                items-per-page="vm.pagination.itemsPerPage"
                ng-model="vm.pagination.currentPage"
                max-size="(vm.pagination.pager == true) ? 0 : 10"
                template-url="pagination.html"            
                ng-change="vm.pagination.pageChanged(vm.pagination)">
            </uib-pagination>

<script id="pagination.html" type="text/ng-template">
  <ul class="pagination">
    <li ng-class="{disabled: noPrevious()}"><a href ng-click="selectPage(1)" title="First Page"> {{'FIRST' | translate}}</a></li>
    <li ng-class="{disabled: noPrevious()}"><a href ng-click="selectPage(page - 1)" title="Previous Page">{{'PREVIOUS' | translate}}</a></li>
    <li ng-repeat="page in pages track by $index" ng-class="{active: page.active}"><a href ng-click="selectPage(page.number)">{{page.text}}</a></li>
    <li ng-class="{disabled: noNext()}"><a href ng-click="selectPage(page + 1)" title="Next Page">{{'NEXT' | translate}}</a></li>
    <li ng-class="{disabled: noNext()}"><a href ng-click="selectPage(vm.pagination.numPages)" title="Last Page">{{'LAST' | translate}}</a></li>
  </ul>
</script>
<pre>Total: {{vm.pagination.numPages}}</pre>

显示得很好:

enter image description here

问题在于Last按钮。当我点击它时,它不会跳到最后一页。但是,如果我像ng-click="selectPage(11)一样直接指定值并点击Last按钮,它将跳转到最后一页11。

使用上面的最后一个代码,vm.pagination.numPages确实包含值11

enter image description here

任何人都可以帮我这个吗?提前谢谢。

1 个答案:

答案 0 :(得分:1)

您的分页模板具有独立的范围,因此对vm一无所知。请尝试使用selectPage(totalPages)