{ "id": "api/common/PlatformLocation", "title": "PlatformLocation", "contents": "\n\n
\n
\n
\n \n API > @angular/common\n
\n \n
\n \n
\n

PlatformLocationlink

\n \n \n \n \n \n
\n \n \n\n
\n \n
\n

This class should not be used directly by an application developer. Instead, use\nLocation.

\n\n

See more...

\n
\n \n \n \n
\n\nabstract class PlatformLocation {\n abstract href: string\n abstract protocol: string\n abstract hostname: string\n abstract port: string\n abstract pathname: string\n abstract search: string\n abstract hash: string\n abstract getBaseHrefFromDOM(): string\n abstract getState(): unknown\n abstract onPopState(fn: LocationChangeListener): VoidFunction\n abstract onHashChange(fn: LocationChangeListener): VoidFunction\n abstract replaceState(state: any, title: string, url: string): void\n abstract pushState(state: any, title: string, url: string): void\n abstract forward(): void\n abstract back(): void\n}\n\n\n \n \n
\n

Subclasseslink

\n \n\n\n\n\n
\n \n\n
\n\n\n \n\n \n \n
\n

Descriptionlink

\n

PlatformLocation encapsulates all calls to DOM APIs, which allows the Router to be\nplatform-agnostic.\nThis means that we can have different implementation of PlatformLocation for the different\nplatforms that Angular supports. For example, @angular/platform-browser provides an\nimplementation specific to the browser environment, while @angular/platform-server provides\none suitable for use with server-side rendering.

\n

The PlatformLocation class is used directly by all implementations of LocationStrategy\nwhen they need to interact with the DOM APIs like pushState, popState, etc.

\nLocationStrategy\n

in turn is used by the Location service which is used directly\nby the Router in order to navigate between routes. Since all interactions between Router /\nLocation / LocationStrategy and DOM APIs flow through the PlatformLocation\nclass, they are all platform-agnostic.

\n\n \n
\n\n \n\n\n\n\n\n\n\n\n
\n

Propertieslink

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
PropertyDescription
\n \n abstract href: string\n Read-Only\n \n \n \n
\n \n abstract protocol: string\n Read-Only\n \n \n \n
\n \n abstract hostname: string\n Read-Only\n \n \n \n
\n \n abstract port: string\n Read-Only\n \n \n \n
\n \n abstract pathname: string\n Read-Only\n \n \n \n
\n \n abstract search: string\n Read-Only\n \n \n \n
\n \n abstract hash: string\n Read-Only\n \n \n \n
\n
\n\n\n\n
\n

Methodslink

\n \n \n\n \n \n \n \n \n \n \n \n\n \n\n \n \n
\n
\n

\n getBaseHrefFromDOM()\n \n link

\n \n
\n
\n
\n \n\n abstract getBaseHrefFromDOM(): string\n\n \n\n
Parameters
\n

There are no parameters.

\n\n \n
Returns
\n

string

\n\n \n\n\n \n\n \n
\n
\n\n \n \n\n \n \n \n \n \n \n \n \n\n \n\n \n \n
\n
\n

\n getState()\n \n link

\n \n
\n
\n
\n \n\n abstract getState(): unknown\n\n \n\n
Parameters
\n

There are no parameters.

\n\n \n
Returns
\n

unknown

\n\n \n\n\n \n\n \n
\n
\n\n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n\n \n \n
\n
\n

\n onPopState()\n \n link

\n \n
\n
\n

Returns a function that, when executed, removes the popstate event handler.

\n\n
\n
\n \n\n abstract onPopState(fn: LocationChangeListener): VoidFunction\n\n \n\n
Parameters
\n \n \n \n \n \n \n \n \n \n
\n \n fn\n LocationChangeListener\n \n \n
\n\n \n
Returns
\n

VoidFunction

\n\n \n\n\n \n\n \n
\n
\n\n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n\n \n \n
\n
\n

\n onHashChange()\n \n link

\n \n
\n
\n

Returns a function that, when executed, removes the hashchange event handler.

\n\n
\n
\n \n\n abstract onHashChange(fn: LocationChangeListener): VoidFunction\n\n \n\n
Parameters
\n \n \n \n \n \n \n \n \n \n
\n \n fn\n LocationChangeListener\n \n \n
\n\n \n
Returns
\n

VoidFunction

\n\n \n\n\n \n\n \n
\n
\n\n \n \n\n \n \n \n \n \n \n \n \n\n \n\n \n \n
\n
\n

\n replaceState()\n \n link

\n \n
\n
\n
\n \n\n abstract replaceState(state: any, title: string, url: string): void\n\n \n\n
Parameters
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n state\n any\n \n \n
\n \n title\n string\n \n \n
\n \n url\n string\n \n \n
\n\n \n
Returns
\n

void

\n\n \n\n\n \n\n \n
\n
\n\n \n \n\n \n \n \n \n \n \n \n \n\n \n\n \n \n
\n
\n

\n pushState()\n \n link

\n \n
\n
\n
\n \n\n abstract pushState(state: any, title: string, url: string): void\n\n \n\n
Parameters
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n state\n any\n \n \n
\n \n title\n string\n \n \n
\n \n url\n string\n \n \n
\n\n \n
Returns
\n

void

\n\n \n\n\n \n\n \n
\n
\n\n \n \n\n \n \n \n \n \n \n \n \n\n \n\n \n \n
\n
\n

\n forward()\n \n link

\n \n
\n
\n
\n \n\n abstract forward(): void\n\n \n\n
Parameters
\n

There are no parameters.

\n\n \n
Returns
\n

void

\n\n \n\n\n \n\n \n
\n
\n\n \n \n\n \n \n \n \n \n \n \n \n\n \n\n \n \n
\n
\n

\n back()\n \n link

\n \n
\n
\n
\n \n\n abstract back(): void\n\n \n\n
Parameters
\n

There are no parameters.

\n\n \n
Returns
\n

void

\n\n \n\n\n \n\n \n
\n
\n\n \n
\n\n\n\n \n\n\n
\n
\n\n\n" }