Расположение
Сервис, который приложения могут использовать для взаимодействия с 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;
}
path
stringНормализует путь URL для этого расположения.
booleanTrue, чтобы включить в путь фрагмент-якорь.
stringНормализованный путь URL.
getState
unknownВозвращает текущее состояние истории расположения.
unknownТекущее значение объекта history.state.
isCurrentPathEqualTo
booleanНормализует заданный путь и сравнивает его с текущим нормализованным путем.
stringЗаданный путь URL.
stringПараметры запроса.
booleanTrue, если заданный путь URL совпадает с текущим нормализованным путем, иначе false.
normalize
stringНормализует путь URL, удаляя конечные косые черты.
stringСтрока, представляющая URL.
stringНормализованная строка URL.
prepareExternalUrl
stringНормализует путь внешнего URL. Если заданный URL не начинается с косой черты ('/'), добавляет ее перед нормализацией. Добавляет хеш, если используется HashLocationStrategy, или APP_BASE_HREF, если используется PathLocationStrategy.
stringСтрока, представляющая URL.
stringНормализованный URL, специфичный для платформы.
go
voidИзменяет URL браузера на нормализованную версию заданного URL и добавляет новый элемент в историю платформы.
stringПуть URL для нормализации.
stringПараметры запроса.
anyСостояние истории расположения.
void
replaceState
voidИзменяет URL браузера на нормализованную версию заданного URL и заменяет верхний элемент стека истории платформы.
stringПуть URL для нормализации.
stringПараметры запроса.
anyСостояние истории расположения.
void
forward
voidПереходит вперед по истории платформы.
void
back
voidПереходит назад по истории платформы.
void
historyGo
voidПереходит на определенную страницу в истории сеанса, заданную относительно текущей страницы.
numberПоложение целевой страницы в истории относительно текущей страницы. Отрицательное значение перемещает назад, положительное — вперед; например, location.historyGo(2) перемещает вперед на две страницы, а location.historyGo(-2) — назад на две страницы. Если мы пытаемся перейти за пределы сохраненной истории сеанса, остаемся на текущей странице. То же поведение наблюдается, когда relativePosition равно 0.
void
onUrlChange
VoidFunctionРегистрирует обработчик изменения URL. Используйте его для отслеживания обновлений, выполняемых платформой Angular, которые нельзя обнаружить по событиям "popstate" или "hashchange".
(url: string, state: unknown) => voidФункция-обработчик изменений, принимающая URL и состояние истории расположения.
VoidFunctionФункция, вызов которой отменяет регистрацию обработчика изменения URL.
subscribe
SubscriptionLikeПодписывается на события popState платформы.
Примечание: Location.go() не вызывает событие popState в браузере. Вместо этого используйте Location.onUrlChange() для подписки на изменения URL.
((exception: any) => void) | null | undefined
(() => void) | null | undefined
SubscriptionLikeСобытия, на которые выполнена подписка.
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