Улучшить документацию Просмотреть исходный код $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.
Примечание: по сравнению с не-угловой версией
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.Тип:
broadcastingЦель:
корневой scopeПараметры
Параметр Тип Подробности angularEvent ObjectСинтетический объект события.
newUrl stringНовый URL
oldUrl (необязательно)stringURL, который был до изменения.
newState (необязательно)stringНовый объект состояния истории
oldState (необязательно)stringОбъект состояния истории, который был до изменения.
-
$locationChangeSuccess
Выдается после изменения URL.
Параметры
newStateиoldStateмогут быть определены только в режиме HTML5 и когда браузер поддерживает HTML5 History API.Тип:
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.5.11/docs/api/ng/service/$location