Spec-Zone.ru › Angular

PathLocationStrategy

LocationStrategy, используемая для настройки службы Location, чтобы отображать её состояние в пути URL браузера.

API

class PathLocationStrategy extends LocationStrategy implements OnDestroy {
  constructor(_platformLocation: PlatformLocation, href?: string | undefined): PathLocationStrategy;
  onPopState(fn: LocationChangeListener): void;
  getBaseHref(): string;
  prepareExternalUrl(internal: string): string;
  path(includeHash?: boolean): string;
  pushState(state: any, title: string, url: string, queryParams: string): void;
  replaceState(state: any, title: string, url: string, queryParams: string): void;
  forward(): void;
  back(): void;
  getState(): unknown;
  historyGo(relativePosition?: number): void;
}

constructor

PathLocationStrategy
@param_platformLocationPlatformLocation
@paramhrefstring | undefined
@returnsPathLocationStrategy

onPopState

void
@paramfnLocationChangeListener
@returnsvoid

getBaseHref

string
@returnsstring

prepareExternalUrl

string
@paraminternalstring
@returnsstring

path

string
@paramincludeHashboolean
@returnsstring

pushState

void
@paramstateany
@paramtitlestring
@paramurlstring
@paramqueryParamsstring
@returnsvoid

replaceState

void
@paramstateany
@paramtitlestring
@paramurlstring
@paramqueryParamsstring
@returnsvoid

forward

void
@returnsvoid

back

void
@returnsvoid

getState

unknown
@returnsunknown

historyGo

void
@paramrelativePositionnumber
@returnsvoid

Описание

LocationStrategy, используемая для настройки службы Location, чтобы отображать её состояние в пути URL браузера.

Если вы используете PathLocationStrategy, можно указать APP_BASE_HREF или добавить в документ элемент <base href>, чтобы переопределить значение по умолчанию.

Например, если указать APP_BASE_HREF со значением '/my/app/' и вызвать location.go('/foo'), URL браузера станет example.com/my/app/foo. Чтобы все относительные URI разрешались корректно, <base href> и/или APP_BASE_HREF должны заканчиваться символом /.

Аналогично, если добавить в документ <base href='/my/app/'/> и вызвать location.go('/foo'), URL браузера станет example.com/my/app/foo.

Обратите внимание: при использовании PathLocationStrategy ни строка запроса, ни фрагмент в <base href> не сохраняются, как указано в RFC.

Чтобы завершающие косые черты всегда присутствовали в URL или всегда отсутствовали в нём, используйте TrailingSlashPathLocationStrategy или NoTrailingSlashPathLocationStrategy.

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

Пример

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

Spec-Zone.ru

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