class
final
A service that applications can use to interact with a browser's URL.
class Location { static normalizeQueryParams: (params: string) => string static joinWithSlash: (start: string, end: string) => string static stripTrailingSlash: (url: string) => string path(includeHash: boolean = false): string getState(): unknown isCurrentPathEqualTo(path: string, query: string = ''): boolean normalize(url: string): string prepareExternalUrl(url: string): string go(path: string, query: string = '', state: any = null): void replaceState(path: string, query: string = '', state: any = null): void forward(): void back(): void historyGo(relativePosition: number = 0): void onUrlChange(fn: (url: string, state: unknown) => void) subscribe(onNext: (value: PopStateEvent) => void, onThrow?: (exception: any) => void, onReturn?: () => void): SubscriptionLike }
'root'
RouterTestingModule
Depending on the LocationStrategy
used, Location
persists to the URL's path or the URL's hash segment.
Further information is available in the Usage Notes...
Property | Description |
---|---|
static normalizeQueryParams: (params: string) => string | Normalizes URL parameters by prepending with |
static joinWithSlash: (start: string, end: string) => string | Joins two parts of a URL with a slash if needed. |
static stripTrailingSlash: (url: string) => string | Removes a trailing slash from a URL string if needed. Looks for the first occurrence of either |
path() | |||
---|---|---|---|
Normalizes the URL path for this location. | |||
|
includeHash | boolean | True to include an anchor fragment in the path. Optional. Default is |
string
: The normalized URL path.
getState() |
---|
Reports the current state of the location history. |
|
isCurrentPathEqualTo() | ||||||
---|---|---|---|---|---|---|
Normalizes the given path and compares to the current normalized path. | ||||||
|
path | string | The given URL path. |
query | string | Query parameters. Optional. Default is |
boolean
: True if the given URL path is equal to the current normalized path, false otherwise.
normalize() | |||
---|---|---|---|
Normalizes a URL path by stripping any trailing slashes. | |||
|
url | string | String representing a URL. |
string
: The normalized URL string.
prepareExternalUrl() | |||
---|---|---|---|
Normalizes an external URL path. If the given URL doesn't begin with a leading slash ( | |||
|
url | string | String representing a URL. |
string
: A normalized platform-specific URL.
go() | |||||||||
---|---|---|---|---|---|---|---|---|---|
Changes the browser's URL to a normalized version of a given URL, and pushes a new item onto the platform's history. | |||||||||
|
path | string | URL path to normalize. |
query | string | Query parameters. Optional. Default is |
state | any | Location history state. Optional. Default is |
void
replaceState() | |||||||||
---|---|---|---|---|---|---|---|---|---|
Changes the browser's URL to a normalized version of the given URL, and replaces the top item on the platform's history stack. | |||||||||
|
path | string | URL path to normalize. |
query | string | Query parameters. Optional. Default is |
state | any | Location history state. Optional. Default is |
void
forward() |
---|
Navigates forward in the platform's history. |
|
back() |
---|
Navigates back in the platform's history. |
|
historyGo() | |||
---|---|---|---|
Navigate to a specific page from session history, identified by its relative position to the current page. See also: | |||
|
relativePosition | number | Position of the target page in the history relative to the current page. A negative value moves backwards, a positive value moves forwards, e.g. Optional. Default is |
void
onUrlChange() | |||
---|---|---|---|
Registers a URL change listener. Use to catch updates performed by the Angular framework that are not detectible through "popstate" or "hashchange" events. | |||
|
fn | (url: string, state: unknown) => void | The change handler function, which take a URL and a location history state. |
subscribe() | |||||||||
---|---|---|---|---|---|---|---|---|---|
Subscribes to the platform's See also: | |||||||||
|
onNext | (value: PopStateEvent) => void | |
onThrow | (exception: any) => void | Optional. Default is |
onReturn | () => void | Optional. Default is |
SubscriptionLike
: Subscribed events.
Note: Location.go()
does not trigger the popState
event in the browser. Use Location.onUrlChange()
to subscribe to URL changes instead.
It's better to use the Router.navigate()
service to trigger route changes. Use Location
only if you need to interact with or create normalized URLs outside of routing.
Location
is responsible for normalizing the URL against the application's base href. A normalized URL is absolute from the URL host, includes the application's base href, and has no trailing slash:
/my/app/user/123
is normalizedmy/app/user/123
is not normalized/my/app/user/123/
is not normalizedimport {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/Location