I had a similar situation. You cannot track route updates if you disabled reloadOnSearch , but I found a solution for this case.
Watch out for $stateParams :
$scope.$watchCollection('$stateParams', function (newParams) { var search = $location.search(); if (angular.isObject(newParams)) { angular.extend(search, newParams); } $location.search(search).replace(); });
Change $stateParams , not the route:
$scope.$stateParams.offset += $scope.$stateParams.limit;
A fully working example .
source share