我正在使用以下内容在我的数据网格中进行分页:
$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'
})
答案 0 :(得分:10)
我最终收听了$ locationChangeSuccess事件,并解决了它。
答案 1 :(得分:0)
我会尝试使用controller(示例中的mandatsCtrl)来放置逻辑。每次更改参数时都会调用视图控制器,您可以将$ stateParams注入其中以获取页面#
其他类似的探索选项是view controllers,这是我在某些时候使用的
最后,既然$ stateParams是可注入的,你可能想把它注入你的自定义指令并在那里直接使用