Какой самый краткий способ прочитать параметры запроса в 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 чем я делаю в своем ответе, или есть краткая альтернатива?

Ответы на вопрос(10)

Ваш ответ на вопрос