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
PathLocationStrategyonPopState
voidvoid
getBaseHref
stringstring
prepareExternalUrl
stringstring
string
path
stringboolean
string
pushState
voidany
string
string
string
void
replaceState
voidany
string
string
string
void
forward
voidvoid
back
voidvoid
getState
unknownunknown
historyGo
voidnumber
void
Описание
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