class
final
A LocationStrategy
used to configure the Location
service to represent its state in the path of the browser's URL.
class PathLocationStrategy extends LocationStrategy implements OnDestroy { override ngOnDestroy(): void onPopState(fn: LocationChangeListener): void getBaseHref(): string prepareExternalUrl(internal: string): string path(includeHash: boolean = false): string pushState(state: any, title: string, url: string, queryParams: string) replaceState(state: any, title: string, url: string, queryParams: string) forward(): void back(): void historyGo(relativePosition: number = 0): void // inherited from common/LocationStrategy abstract path(includeHash?: boolean): string abstract prepareExternalUrl(internal: string): string abstract pushState(state: any, title: string, url: string, queryParams: string): void abstract replaceState(state: any, title: string, url: string, queryParams: string): void abstract forward(): void abstract back(): void historyGo(relativePosition: number)?: void abstract onPopState(fn: LocationChangeListener): void abstract getBaseHref(): string }
If you're using PathLocationStrategy
, you must provide a APP_BASE_HREF
or add a <base href>
element to the document.
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.
Further information is available in the Usage Notes...
Property | Description |
---|---|
override |
ngOnDestroy() |
---|
|
onPopState() |
---|
getBaseHref() |
---|
|
prepareExternalUrl() | |||
---|---|---|---|
|
internal | string |
string
path() | |||
---|---|---|---|
|
includeHash | boolean | Optional. Default is |
string
pushState() | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
state | any | |
title | string | |
url | string | |
queryParams | string |
replaceState() | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
state | any | |
title | string | |
url | string | |
queryParams | string |
forward() |
---|
|
back() |
---|
|
historyGo() | |||
---|---|---|---|
|
relativePosition | number | Optional. Default is |
void
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> ` }) export class PathLocationComponent { location: Location; constructor(location: Location) { this.location = location; } }
© 2010–2021 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://v12.angular.io/api/common/PathLocationStrategy