linkPlatformLocation
npm Package | @angular/common |
---|---|
Module | import { PlatformLocation } from '@angular/common'; |
Source | common/src/location/platform_location.ts |
linkOverview
class PlatformLocation {
getBaseHrefFromDOM(): string
onPopState(fn: LocationChangeListener): void
onHashChange(fn: LocationChangeListener): void
get pathname: string
get search: string
get hash: string
replaceState(state: any, title: string, url: string): void
pushState(state: any, title: string, url: string): void
forward(): void
back(): void
}
linkDescription
This class should not be used directly by an application developer. Instead, use
Location
.
PlatformLocation
encapsulates all calls to DOM apis, which allows the Router to be platform
agnostic.
This means that we can have different implementation of PlatformLocation
for the different
platforms that angular supports. For example, @angular/platform-browser
provides an
implementation specific to the browser environment, while @angular/platform-webworker
provides
one suitable for use with web workers.
The PlatformLocation
class is used directly by all implementations of LocationStrategy
when they need to interact with the DOM apis like pushState, popState, etc...
LocationStrategy
in turn is used by the Location
service which is used directly
by the Router
in order to navigate between routes. Since all interactions between Router
/
Location
/ LocationStrategy
and DOM apis flow through the PlatformLocation
class they are all platform independent.
linkMembers
onPopState(fn: LocationChangeListener): void
onHashChange(fn: LocationChangeListener): void
replaceState(state: any, title: string, url: string): void
pushState(state: any, title: string, url: string): void