在angularJS中更改分页中的URL

时间:2015-11-23 09:11:26

标签: javascript angularjs pagination angular-ui-router

我使用了角度UI路由器,我试图在分页中更改URL。 使用了UI Bootstrap分页指令。

我正在使用这个 github link

Demo link

在这个分页工作中完美无缺。 但是我需要通过点击分页来更改状态中的网址。

<ul class="pagination" ng-if="1 < pages.length">
<li ng-if="boundaryLinks" ng-class="{ disabled : pagination.current == 1 }">
    <a href="" ng-click="setCurrent(1)">&laquo;</a>
</li>

<li ng-if="directionLinks" ng-class="{ disabled : pagination.current == 1 }">
    <a href="" ng-click="setCurrent(pagination.current - 1)">&lsaquo;</a>
</li>

<li ng-repeat="pageNumber in pages track by $index" ng-class="{ active : pagination.current == pageNumber, disabled : pageNumber == \'...\' }">
    <a ui-sref="result.(pageNumber)" ng-click="setCurrent(pageNumber)">{{ pageNumber }}</a>
</li>

<li ng-if="directionLinks" ng-class="{ disabled : pagination.current == pagination.last }">
    <a href="" ng-click="setCurrent(pagination.current + 1)">&rsaquo;</a>
</li>

<li ng-if="boundaryLinks"  ng-class="{ disabled : pagination.current == pagination.last }">
    <a href="" ng-click="setCurrent(pagination.last)">&raquo;</a>
</li>

在config.route.js

.state('result', {
            url: '/result',
            templateUrl: 'tpl/search_result.html'
        })
        .state('result.{pageNumber:[0-9]{1,4}}', {
            url: "/{pageNumber:[0-9]{1,4}}"
        })

提前致谢。

1 个答案:

答案 0 :(得分:1)

嗨,我得到了另一个人的答案。

只需使用以下状态

.state('result', {
    url: '/result',
    templateUrl: 'tpl/search_result.html'
})
.state('result.pageNumber', {
    url: '/:pageNumber'
});

并传递

之类的网址
<a ui-sref="result.pageNumber({pageNumber : pageNumber})">{{ pageNumber }}</a> 

尝试并得到了完美答案。