Wie verwende ich Angular $ location, um meinen neuen URL-Speicherort festzulegen, indem ich seine Schlüsselwertparameter dynamisch ändere?
Angenommen, ich habe einen RESTful-Endpunkt, der eine Reihe von Facetten zum Abfragen von Daten akzeptiert. Hier einige Beispiele:
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
Mein Modul akzeptiert das Abfrageobjekt, um die Suche durchzuführen:
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;
});
}
Diese Facetten werden in einem Webformular durch ein lokales Modell geleitet:
<input type="text" ng-model="query.location"/>
<input type="text" ng-model="query.radius"/>
<button type="button" ng-click="getSearch(query)">Search</button>
Im Erfolg Rückruf dergetResults
Funktion versuche ich, die Abfrageparameter an die URL anzuhängen, wie in den Beispielen oben:
$scope.getSearch = function(query){
var search = $search.search(query);
search.getResults(function(results){
$scope.results = results;
search.appendQueryToURL(query);
});
}
Wie füge ich URL-Parameter in AngularJS dynamisch an?