Какой самый краткий способ прочитать параметры запроса в AngularJS?
Я хотел бы прочитать значения параметров URL-запроса, используя AngularJS. Я получаю доступ к HTML со следующего URL:
http://127.0.0.1:8080/test.html?target=bob
Как и ожидалось,location.search
является"?target=bob"
.
For accessing the value of targetЯ нашел различные примеры, перечисленные в Интернете, но ни один из них не работает в AngularJS 1.0.0rc10. В частности, следующие всеundefined
:
$location.search.target
$location.search['target']
$location.search()['target']
Кто-нибудь знает, что будет работать? (Я использую$location
как параметр моего контроллера)
Обновить:
Я разместил решение ниже, но я не совсем доволен им.
Документация наРуководство разработчика: Angular Services: использование $ location утверждает следующее о$location
:
When should I use $location?
Any time your application needs to react to a change in the current URL or if you want to change the current URL in the browser.
В моем случае моя страница будет открыта с внешней веб-страницы с параметром запроса, поэтому я не реагирую на изменение текущего URL-адреса & quot; как таковой. Так что, может быть$location
это не правильный инструмент для этой работы (подробности см. в моем ответе ниже). Поэтому я изменил заголовок этого вопроса с "Как читать параметры запроса в AngularJS, используя $ location?" to "Какой самый краткий способ прочитать параметры запроса в AngularJS?" Очевидно, я мог бы просто использовать JavaScript и регулярное выражение для анализаlocation.search
Но низкий уровень для чего-то такого базового действительно оскорбляет мои чувства программиста.
Итак: есть ли лучший способ использовать$location
чем я делаю в своем ответе, или есть краткая альтернатива?