angularJS:ui-router相当于$ location.search

时间:2013-04-29 12:43:35

标签: angularjs angular-ui

我正在使用以下内容在我的数据网格中进行分页:

$location.search('page', page);

其中page是当前页码。

然后我听以下事件:

   $scope.$on('$routeUpdate', function(next, current) {
            $scope.currentPage = $routeParams.page ? Number($routeParams.page) : 1;

            $scope.search();
        });

在更新URL中的currentPage后触发对我的作用域上的search()方法的调用。

我如何将其转换为使用ui-router的州?由于我使用状态管理器而不是路由,因此不再触发$ routeUpdate。

我的路线现在在州提供者中定义为:

   $stateProvider
        .state('mandats', {
            url: '/domiciliations/mandats',
            templateUrl: 'domiciliations/views/mandats.html',
            controller: 'mandatsCtrl'
        })

2 个答案:

答案 0 :(得分:10)

我最终收听了$ locationChangeSuccess事件,并解决了它。

答案 1 :(得分:0)

我会尝试使用controller(示例中的mandatsCtrl)来放置逻辑。每次更改参数时都会调用视图控制器,您可以将$ stateParams注入其中以获取页面#

其他类似的探索选项是view controllers,这是我在某些时候使用的

最后,既然$ stateParams是可注入的,你可能想把它注入你的自定义指令并在那里直接使用