Улучшить эту документацию Просмотреть исходный код $location
- $locationProvider
- сервис в модуле ng
Обзор
Сервис $location анализирует URL в адресной строке браузера (на основе window.location) и делает URL доступным для вашего приложения. Изменения URL в адресной строке отражаются в сервисе $location, а изменения в $location отражаются в адресной строке браузера.
Сервис $location:
- Предоставляет текущий URL в адресной строке браузера, поэтому вы можете:
- Отслеживать и наблюдать за URL.
- Изменять URL.
- Синхронизирует URL с браузером, когда пользователь:
- Изменяет адресную строку.
- Нажимает кнопки «Назад» или «Вперед» (или нажимает ссылку в истории).
- Нажимает на ссылку.
- Представляет объект URL в виде набора методов (протокол, хост, порт, путь, запрос, хэш).
Для получения дополнительной информации см. Руководство разработчика: Использование $location
Зависимости
Методы
-
absUrl();
Этот метод является только для чтения.
Возвращает полное представление URL со всеми сегментами, закодированными в соответствии с правилами, указанными в RFC 3986.
// given URL http://example.com/#/some/path?foo=bar&baz=xoxo var absUrl = $location.absUrl(); // => "http://example.com/#/some/path?foo=bar&baz=xoxo"
Возвращает
stringполный URL
-
url([url]);
Этот метод является для чтения/записи.
Возвращает URL (например,
/path?a=b#hash) при вызове без параметров.Изменяет путь, запрос и хэш, при вызове с параметром и возвращает
$location.// given URL http://example.com/#/some/path?foo=bar&baz=xoxo var url = $location.url(); // => "/some/path?foo=bar&baz=xoxo"
Параметры
Параметр Тип Описание url (необязательно)stringНовый URL без префикса базы (например,
/path?a=b#hash)Возвращает
stringurl
-
protocol();
Этот метод является только для чтения.
Возвращает протокол текущего URL.
// given URL http://example.com/#/some/path?foo=bar&baz=xoxo var protocol = $location.protocol(); // => "http"
Возвращает
stringпротокол текущего URL
-
host();
Этот метод является только для чтения.
Возвращает хост текущего URL.
Примечание: по сравнению с версией без AngularJS
location.host, которая возвращаетhostname:port, эта функция возвращает толькоhostnameчасть.// given URL http://example.com/#/some/path?foo=bar&baz=xoxo var host = $location.host(); // => "example.com" // given URL http://user:password@example.com:8080/#/some/path?foo=bar&baz=xoxo host = $location.host(); // => "example.com" host = location.host; // => "example.com:8080"
Возвращает
stringхост текущего URL.
-
port();
Этот метод является только для чтения.
Возвращает порт текущего URL.
// given URL http://example.com/#/some/path?foo=bar&baz=xoxo var port = $location.port(); // => 80
Возвращает
Numberпорт
-
path([path]);
Этот метод является для чтения/записи.
Возвращает путь текущего URL при вызове без параметров.
Изменяет путь при вызове с параметром и возвращает
$location.Примечание: Путь всегда должен начинаться с косой черты (/), этот метод добавит косую черту, если она отсутствует.
// given URL http://example.com/#/some/path?foo=bar&baz=xoxo var path = $location.path(); // => "/some/path"
Параметры
Параметр Тип Описание path (необязательно)stringnumberНовый путь
Возвращает
stringobjectпуть, если вызвана без параметров, или
$locationпри вызове с параметром -
search(search, [paramValue]);
Этот метод является для чтения/записи.
Возвращает часть запроса (как объект) текущего URL при вызове без параметров.
Изменяет часть запроса при вызове с параметром и возвращает
$location.// given URL http://example.com/#/some/path?foo=bar&baz=xoxo var searchObject = $location.search(); // => {foo: 'bar', baz: 'xoxo'} // set foo to 'yipee' $location.search('foo', 'yipee'); // $location.search() => {foo: 'yipee', baz: 'xoxo'}Параметры
Параметр Тип Описание search stringObject.<string>Object.<Array.<string>>Новые параметры запроса - строка или хеш-объект.
При вызове с одним аргументом метод действует как установщик, устанавливая
searchкомпоненту$locationуказанное значение.Если аргумент является хеш-объектом, содержащим массив значений, эти значения будут закодированы как дублирующие параметры запроса в URL.
paramValue (необязательно)stringNumberArray.<string>booleanЕсли
searchявляется строкой или числом, тоparamValueпереопределит только одно свойство запроса.Если
paramValueявляется массивом, он переопределит свойствоsearchкомпонента$location, указанного через первый аргумент.Если
paramValueявляетсяnull, свойство, указанное через первый аргумент, будет удалено.Если
paramValueявляетсяtrue, свойство, указанное через первый аргумент, будет добавлено без значения или конечного знака равенства.Возвращает
ObjectЕсли вызван без аргументов, возвращает разобранный объект
search. Если вызван с одним или несколькими аргументами, возвращает сам объект$location. -
hash([hash]);
Этот метод является для чтения/записи.
Возвращает фрагмент хэша при вызове без параметров.
Изменяет фрагмент хэша при вызове с параметром и возвращает
$location.// given URL http://example.com/#/some/path?foo=bar&baz=xoxo#hashValue var hash = $location.hash(); // => "hashValue"
Параметры
Параметр Тип Описание hash (необязательно)stringnumberНовый фрагмент хэша
Возвращает
stringхэш
-
replace();
При вызове все изменения $location в текущей
$digestзаменят текущую запись истории, вместо добавления новой. -
state([state]);
Этот метод является для чтения/записи.
Возвращает объект состояния истории при вызове без параметров.
Изменяет объект состояния истории при вызове с одним параметром и возвращает
$location. Объект состояния позже передаётся вpushStateилиreplaceState.ПРИМЕЧАНИЕ: Этот метод поддерживается только в режиме HTML5 и только в браузерах, поддерживающих API истории HTML5 (т.е. методы
pushStateиreplaceState). Если вам нужно поддерживать старые браузеры (например, IE9 или Android < 4.0), не используйте этот метод.Параметры
Параметр Тип Описание state (необязательно)objectОбъект состояния для pushState или replaceState
Возвращает
objectсостояние
События
-
$locationChangeStart
Отправляется перед изменением URL.
Это изменение можно предотвратить, вызвав метод
preventDefaultсобытия. Смотрите$rootScope.Scopeдля получения дополнительной информации об объекте события. После успешного изменения запускается $locationChangeSuccess.Параметры
newStateиoldStateмогут быть определены только в режиме HTML5 и при поддержке браузером API истории HTML5.Тип:
распространениеЦелевая область:
корневой область видимостиПараметры
Параметр Тип Описание angularEvent ObjectСинтетический объект события.
newUrl stringНовый URL
oldUrl (необязательно)stringURL, который был до изменения.
newState (необязательно)stringНовый объект состояния истории
oldState (необязательно)stringОбъект состояния истории, который был до изменения.
-
$locationChangeSuccess
Отправляется после изменения URL.
Параметры
newStateиoldStateмогут быть определены только в режиме HTML5 и при поддержке браузером API истории HTML5.Тип:
распространениеЦелевая область:
корневой область видимостиПараметры
Параметр Тип Описание angularEvent ObjectСинтетический объект события.
newUrl stringНовый URL
oldUrl (необязательно)stringURL, который был до изменения.
newState (необязательно)stringНовый объект состояния истории
oldState (необязательно)stringОбъект состояния истории, который был до изменения.
© 2010–2020 Google, Inc.
Licensed under the Creative Commons Attribution License 3.0.
https://code.angularjs.org/1.8.2/docs/api/ng/service/$location