Spec-Zone.ru › Angular

Расположение

Сервис, который приложения могут использовать для взаимодействия с URL-адресом браузера.

API

class Location implements OnDestroy {
  constructor(locationStrategy: LocationStrategy): Location;
  path(includeHash?: boolean): string;
  getState(): unknown;
  isCurrentPathEqualTo(path: string, query?: string): boolean;
  normalize(url: string): string;
  prepareExternalUrl(url: string): string;
  go(path: string, query?: string, state?: any): void;
  replaceState(path: string, query?: string, state?: any): void;
  forward(): void;
  back(): void;
  historyGo(relativePosition?: number): void;
  onUrlChange(fn: (url: string, state: unknown) => void): VoidFunction;
  subscribe(onNext: (value: PopStateEvent) => void, onThrow?: ((exception: any) => void) | null | undefined, onReturn?: (() => void) | null | undefined): SubscriptionLike;
  static normalizeQueryParams: (params: string) => string;
  static joinWithSlash: (start: string, end: string) => string;
  static stripTrailingSlash: (url: string) => string;
}

constructor

Location
@paramlocationStrategyLocationStrategy
@returnsLocation

path

string

Нормализует путь URL для этого расположения.

@paramincludeHashboolean

True, чтобы включить в путь фрагмент-якорь.

@returnsstring

Нормализованный путь URL.

getState

unknown

Возвращает текущее состояние истории расположения.

@returnsunknown

Текущее значение объекта history.state.

isCurrentPathEqualTo

boolean

Нормализует заданный путь и сравнивает его с текущим нормализованным путем.

@parampathstring

Заданный путь URL.

@paramquerystring

Параметры запроса.

@returnsboolean

True, если заданный путь URL совпадает с текущим нормализованным путем, иначе false.

normalize

string

Нормализует путь URL, удаляя конечные косые черты.

@paramurlstring

Строка, представляющая URL.

@returnsstring

Нормализованная строка URL.

prepareExternalUrl

string

Нормализует путь внешнего URL. Если заданный URL не начинается с косой черты ('/'), добавляет ее перед нормализацией. Добавляет хеш, если используется HashLocationStrategy, или APP_BASE_HREF, если используется PathLocationStrategy.

@paramurlstring

Строка, представляющая URL.

@returnsstring

Нормализованный URL, специфичный для платформы.

go

void

Изменяет URL браузера на нормализованную версию заданного URL и добавляет новый элемент в историю платформы.

@parampathstring

Путь URL для нормализации.

@paramquerystring

Параметры запроса.

@paramstateany

Состояние истории расположения.

@returnsvoid

replaceState

void

Изменяет URL браузера на нормализованную версию заданного URL и заменяет верхний элемент стека истории платформы.

@parampathstring

Путь URL для нормализации.

@paramquerystring

Параметры запроса.

@paramstateany

Состояние истории расположения.

@returnsvoid

forward

void

Переходит вперед по истории платформы.

@returnsvoid

back

void

Переходит назад по истории платформы.

@returnsvoid

historyGo

void

Переходит на определенную страницу в истории сеанса, заданную относительно текущей страницы.

@paramrelativePositionnumber

Положение целевой страницы в истории относительно текущей страницы. Отрицательное значение перемещает назад, положительное — вперед; например, location.historyGo(2) перемещает вперед на две страницы, а location.historyGo(-2) — назад на две страницы. Если мы пытаемся перейти за пределы сохраненной истории сеанса, остаемся на текущей странице. То же поведение наблюдается, когда relativePosition равно 0.

@returnsvoid

onUrlChange

VoidFunction

Регистрирует обработчик изменения URL. Используйте его для отслеживания обновлений, выполняемых платформой Angular, которые нельзя обнаружить по событиям "popstate" или "hashchange".

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

Функция-обработчик изменений, принимающая URL и состояние истории расположения.

@returnsVoidFunction

Функция, вызов которой отменяет регистрацию обработчика изменения URL.

subscribe

SubscriptionLike

Подписывается на события popState платформы.

Примечание: Location.go() не вызывает событие popState в браузере. Вместо этого используйте Location.onUrlChange() для подписки на изменения URL.

@paramonNext(value: PopStateEvent) => void
@paramonThrow((exception: any) => void) | null | undefined
@paramonReturn(() => void) | null | undefined
@returnsSubscriptionLike

События, на которые выполнена подписка.

normalizeQueryParams

(params: string) => string

Нормализует параметры URL, при необходимости добавляя перед ними ?.

joinWithSlash

(start: string, end: string) => string

При необходимости объединяет две части URL с помощью косой черты.

stripTrailingSlash

(url: string) => string

При необходимости удаляет конечную косую черту из строки URL. Ищет первое вхождение #, ? или конца строки в качестве символов / и удаляет конечную косую черту, если она есть.

Описание

Сервис, который приложения могут использовать для взаимодействия с URL-адресом браузера.

В зависимости от используемой LocationStrategy, Location сохраняет данные в пути URL или в его хеш-сегменте.

Примечания по использованию

Для изменения маршрутов рекомендуется использовать сервис Router.navigate(). Используйте Location, только если необходимо взаимодействовать с нормализованными URL или создавать их вне маршрутизации.

Location отвечает за нормализацию URL относительно базового href приложения. Нормализованный URL является абсолютным относительно хоста URL, включает базовый href приложения и не имеет конечной косой черты:

  • /my/app/user/123 нормализован
  • my/app/user/123 не нормализован
  • /my/app/user/123/ не нормализован

Пример

import {Location, LocationStrategy, PathLocationStrategy} from '@angular/common';
import {Component} from '@angular/core';

@Component({
  selector: 'path-location',
  providers: [Location, {provide: LocationStrategy, useClass: PathLocationStrategy}],
  template: `
    <h1>PathLocationStrategy</h1>
    Current URL is: <code>{{ location.path() }}</code
    ><br />
    Normalize: <code>/foo/bar/</code> is: <code>{{ location.normalize('foo/bar') }}</code
    ><br />
  `,
  standalone: false,
})
export class PathLocationComponent {
  location: Location;
  constructor(location: Location) {
    this.location = location;
  }
}

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/Location

Spec-Zone.ru

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