PathLocationStrategy
A LocationStrategy used to configure the Location service to
represent its state in the
path of the
browser's 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
voidvoidgetBaseHref
stringstringprepareExternalUrl
stringstringstringpath
stringbooleanstringpushState
voidanystringstringstringvoidreplaceState
voidanystringstringstringvoidforward
voidvoidback
voidvoidgetState
unknownunknownhistoryGo
voidnumbervoidDescription
A LocationStrategy used to configure the Location service to
represent its state in the
path of the
browser's URL.
If you're using PathLocationStrategy, you may provide a APP_BASE_HREFor add a <base href> element to the document to override the default.
For instance, if you provide an APP_BASE_HREF of '/my/app/' and call
location.go('/foo'), the browser's URL will become
example.com/my/app/foo. To ensure all relative URIs resolve correctly,
the <base href> and/or APP_BASE_HREF should end with a /.
Similarly, if you add <base href='/my/app/'/> to the document and call
location.go('/foo'), the browser's URL will become
example.com/my/app/foo.
Note that when using PathLocationStrategy, neither the query nor
the fragment in the <base href> will be preserved, as outlined
by the RFC.
Usage Notes
Example
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; }}