Улучшить эту документацию Просмотреть исходный код $location
- $locationProvider
- сервис в модуле ng
Обзор
Сервис $location анализирует URL в адресной строке браузера (на основе window.location) и предоставляет 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 и только в браузерах, поддерживающих HTML5 History API (т. е. методы
pushStateиreplaceState). Если вам нужно поддерживать более старые браузеры (например, IE9 или Android < 4.0), не используйте этот метод.Параметры
Параметр Тип Подробности state (необязательно)objectОбъект состояния для pushState или replaceState
Возвращаемое значение
objectсостояние
События
-
$locationChangeStart
Выдается перед изменением URL.
Это изменение можно предотвратить, вызвав метод
preventDefaultсобытия. См.$rootScope.Scopeдля получения более подробной информации об объекте события. После успешного изменения генерируется $locationChangeSuccess.Параметры
newStateиoldStateмогут быть определены только в режиме HTML5 и при поддержке HTML5 History API браузером.Тип:
вещаниеЦель:
глобальная область видимостиПараметры
Параметр Тип Подробности angularEvent ObjectСинтетический объект события.
newUrl stringНовый URL
oldUrl (необязательно)stringURL, который был до изменения.
newState (необязательно)stringНовый объект состояния истории
oldState (необязательно)stringОбъект состояния истории, который был до изменения.
-
$locationChangeSuccess
Выдается после изменения URL.
Параметры
newStateиoldStateмогут быть определены только в режиме HTML5 и при поддержке HTML5 History API браузером.Тип:
вещаниеЦель:
глобальная область видимостиПараметры
Параметр Тип Подробности angularEvent ObjectСинтетический объект события.
newUrl stringНовый URL
oldUrl (необязательно)stringURL, который был до изменения.
newState (необязательно)stringНовый объект состояния истории
oldState (необязательно)stringОбъект состояния истории, который был до изменения.
© 2010–2018 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://code.angularjs.org/1.7.8/docs/api/ng/service/$location