Je voudrais lire les valeurs des paramètres de requête URL en utilisant AngularJS. Je suis accès à de l'HTML avec l'URL suivante:
http://127.0.0.1:8080/test.html?target=bob
Comme prévu, location.search
est "?target=bob"
.
Pour accéder à la valeur de la cible, j'ai trouvé plusieurs exemples énumérés sur le web, mais aucun d'entre eux travaillent dans AngularJS 1.0.0rc10. En particulier, les éléments suivants sont tous undefined
:
$location.search.target
$location.search['target']
$location.search()['target']
Quelqu'un sait ce que sera le travail? (Je suis à l'aide d' $location
en tant que paramètre à mon contrôleur)
Mise à jour:
J'ai posté une solution ci-dessous, mais je ne suis pas entièrement satisfait.
De la documentation au Guide du Développeur: Angulaire des Services: à l'Aide de $emplacement états suivants à propos de $location
:
Quand dois-je utiliser $lieu?
Chaque fois que votre application a besoin de réagir à un changement dans le courant de URL ou si vous souhaitez modifier l'URL dans le navigateur.
Pour mon scénario, ma page sera ouverte à partir d'une page web externe avec un paramètre de requête, donc je ne suis pas "réagir à un changement dans l'URL en cours" à proprement parler. Donc peut - $location
n'est pas le bon outil pour le travail (pour le vilain de détails, voir ma réponse ci-dessous). J'ai donc changé le titre de cette question de "Comment faire pour lire les paramètres de la requête en utilisant AngularJS $lieu?", "Quel est le plus concis façon de lire les paramètres de la requête dans AngularJS?". Évidemment, je pourrais juste l'utilisation de javascript et de l'expression régulière pour analyser location.search
, tandis que le faible niveau de quelque chose d'aussi élémentaire vraiment choque mon programmeur sensibilités.
Donc: est-il une meilleure façon d'utiliser $location
que je fais dans ma réponse, ou est-il un concis alternative?