Улучшить эту документацию Посмотреть исходный код $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.
Примечание: по сравнению с не-угловой версией
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.Тип:
broadcastingЦель:
корневой scopeПараметры
Параметр Тип Подробности angularEvent ObjectСинтетический объект события.
newUrl stringНовый URL
oldUrl (необязательно)stringURL, который был до изменения.
newState (необязательно)stringНовый объект состояния истории
oldState (необязательно)stringОбъект состояния истории, который был до изменения.
-
$locationChangeSuccess
Выдается после изменения URL.
Параметры
newStateиoldStateмогут быть определены только в режиме HTML5 и при поддержке браузером API истории HTML5.Тип:
broadcastingЦель:
корневой scopeПараметры
Параметр Тип Подробности angularEvent ObjectСинтетический объект события.
newUrl stringНовый URL
oldUrl (необязательно)stringURL, который был до изменения.
newState (необязательно)stringНовый объект состояния истории
oldState (необязательно)stringОбъект состояния истории, который был до изменения.
© 2010–2017 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://code.angularjs.org/1.4.14/docs/api/ng/service/$location