Улучшить эту документацию Просмотреть исходный код $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 и только в браузерах, поддерживающих 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–2018 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://code.angularjs.org/1.6.9/docs/api/ng/service/$location