I found that I can do this by changing the parameters of the query string without reloading the page using the reloadOnSearch response from here :
$routeProvider .when('/items', { controller: 'ItemsCtrl', templateUrl: '/templates/items', reloadOnSearch: false }, ... );
And then, based on the same answer, set the query string using:
$location.search('id', 123);
Finally, detecting route changes using the answer here :
$scope.$on('$routeUpdate', function(){ $scope.sort = $location.search().sort; $scope.order = $location.search().order; $scope.offset = $location.search().offset; });
source share