Comment utiliser Angular $ location pour définir mon nouvel emplacement d'URL en changeant dynamiquement ses paramètres de valeur-clé?

Disons que j'ai une bonne extrémité qui accepte une plage de facettes pour les données de la requête. Voici quelques exemples:

example.com/search?type=Doctor&location=Boston,MA&radius=2  
example.com/search?type=Facility&location=Wayne,NJ&radius=3&gender=f  
example.com/search?type=Doctor&location=Patterson,NJ

Mon module accepte la requête de l'objet pour effectuer la recherche:

console.log(query);
{
  type:'Doctor',
  location:'Boston,MA',
  radius:'2'
}

$scope.getSearch = function(query){
  var search = $search.search(query);
  search.getResults(function(results){
    $scope.results = results;
  });
}

Ces facettes sont transmises par le biais d'un modèle local dans un formulaire web:

 <input type="text" ng-model="query.location"/>
 <input type="text" ng-model="query.radius"/>
 <button type="button" ng-click="getSearch(query)">Search</button>

Dans la réussite de rappel de la getResults fonction, je vais essayer d'ajouter les paramètres de requête de l'URL comme dans les exemples ci-dessus:

$scope.getSearch = function(query){
  var search = $search.search(query);
  search.getResults(function(results){
    $scope.results = results;
    search.appendQueryToURL(query);
  });
}

Comment puis-je ajouter des paramètres d'URL dynamiquement dans AngularJS?

source d'informationauteur Dan Kanze