Spec-Zone.ru › Angular

$locationShim

Сервис Location, который предоставляет готовую замену сервису $location из AngularJS.

Использование унифицированного сервиса Location в Angular

API

class $locationShim {
  constructor($injector: any, location: Location, platformLocation: PlatformLocation, urlCodec: UrlCodec, locationStrategy: LocationStrategy): $locationShim;
  onChange(fn: (url: string, state: unknown, oldUrl: string, oldState: unknown) => void, err?: (e: Error) => void): void;
  $$parse(url: string): void;
  $$parseLinkUrl(url: string, relHref?: string | null | undefined): boolean;
  absUrl(): string;
  url(): string;
  url(url: string): this;
  protocol(): string;
  host(): string;
  port(): number | null;
  path(): string;
  path(path: string | number | null): this;
  search(): { [key: string]: unknown; };
  search(search: string | number | { [key: string]: unknown; }): this;
  search(search: string | number | { [key: string]: unknown; }, paramValue: string | number | boolean | string[] | null | undefined): this;
  hash(): string;
  hash(hash: string | number | null): this;
  replace(): this;
  state(): unknown;
  state(state: unknown): this;
}

constructor

$locationShim
@param$injectorany
@paramlocationLocation
@paramplatformLocationPlatformLocation
@paramurlCodecUrlCodec
@paramlocationStrategyLocationStrategy
@returns$locationShim

onChange

void

Регистрирует обработчики изменений URL. Этот API используется для перехвата обновлений, выполняемых платформой AngularJS. Эти изменения являются подмножеством событий $locationChangeStart и $locationChangeSuccess, которые срабатывают, когда AngularJS обновляет внутреннюю ссылку на URL браузера.

События $locationChange могут происходить, даже если URL браузера (window.location) остается неизменным. Этот обратный вызов onChange сработает, только когда AngularJS фактически обновит URL браузера (window.location).

@paramfn(url: string, state: unknown, oldUrl: string, oldState: unknown) => void

Функция обратного вызова, вызываемая для обработчика при изменении URL.

@paramerr(e: Error) => void

Функция обратного вызова, вызываемая при возникновении ошибки.

@returnsvoid

$$parse

void

Разбирает указанный URL и задает текущий URL равным результату разбора.

@paramurlstring

Строка URL.

@returnsvoid

$$parseLinkUrl

boolean

Разбирает указанный URL и его относительный URL.

@paramurlstring

Полная строка URL.

@paramrelHrefstring | null | undefined

Строка URL относительно полной строки URL.

@returnsboolean

absUrl

string

Возвращает полное представление URL, в котором все сегменты закодированы согласно правилам, указанным в RFC 3986.

// given URL http://example.com/#/some/path?foo=bar&baz=xoxo
let absUrl = $location.absUrl();
// => "http://example.com/#/some/path?foo=bar&baz=xoxo"
@returnsstring

url

2 перегрузки

Возвращает текущий URL или задает новый. При задании URL изменяются путь, строка поиска и хеш, после чего возвращается ссылка на текущий экземпляр.

// given URL http://example.com/#/some/path?foo=bar&baz=xoxo
let url = $location.url();
// => "/some/path?foo=bar&baz=xoxo"
@returnsstring
@paramurlstring
@returnsthis

protocol

string

Возвращает протокол текущего URL.

// given URL http://example.com/#/some/path?foo=bar&baz=xoxo
let protocol = $location.protocol();
// => "http"
@returnsstring

host

string

Возвращает протокол текущего URL.

В отличие от версии без AngularJS location.host, которая возвращает hostname:port, этот метод возвращает только часть hostname.

// given URL http://example.com/#/some/path?foo=bar&baz=xoxo
let 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"
@returnsstring

port

number | null

Возвращает порт текущего URL.

// given URL http://example.com/#/some/path?foo=bar&baz=xoxo
let port = $location.port();
// => 80
@returnsnumber | null

path

2 перегрузки

Возвращает путь текущего URL или изменяет путь и возвращает ссылку на текущий экземпляр.

Пути всегда должны начинаться с косой черты (/). Если косая черта отсутствует, этот метод добавляет ее.

// given URL http://example.com/#/some/path?foo=bar&baz=xoxo
let path = $location.path();
// => "/some/path"
@returnsstring
@parampathstring | number | null
@returnsthis

search

3 перегрузки

Возвращает карту параметров строки поиска текущего URL или изменяет часть строки поиска и возвращает ссылку на текущий экземпляр.

// given URL http://example.com/#/some/path?foo=bar&baz=xoxo
let searchObject = $location.search();
// => {foo: 'bar', baz: 'xoxo'}

// set foo to 'yipee'
$location.search('foo', 'yipee');
// $location.search() => {foo: 'yipee', baz: 'xoxo'}
@returns{ [key: string]: unknown; }
@paramsearchstring | number | { [key: string]: unknown; }
@returnsthis
@paramsearchstring | number | { [key: string]: unknown; }
@paramparamValuestring | number | boolean | string[] | null | undefined
@returnsthis

hash

2 перегрузки

Возвращает текущий фрагмент хеша или изменяет его и возвращает ссылку на текущий экземпляр.

// given URL http://example.com/#/some/path?foo=bar&baz=xoxo#hashValue
let hash = $location.hash();
// => "hashValue"
@returnsstring
@paramhashstring | number | null
@returnsthis

replace

this

Изменения $location в течение текущего $digest заменят текущую запись истории, а не добавят новую.

@returnsthis

state

2 перегрузки

При вызове без параметров возвращает объект состояния истории.

При вызове с одним параметром изменяет объект состояния истории и возвращает $location. Впоследствии объект состояния передается в pushState или replaceState.

Этот метод поддерживается только в режиме HTML5 и только в браузерах, поддерживающих методы API истории HTML5, такие как pushState и replaceState. Если необходимо поддерживать старые браузеры (например, Android < 4.0), не используйте этот метод.

@returnsunknown
@paramstateunknown
@returnsthis

Super-powered by Google ©2010–2025.
Code licensed under an MIT-style License. Documentation licensed under CC BY 4.0.
https://angular.dev/api/common/upgrade/$locationShim

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API