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