• Overview
@angular/common

PlatformLocation

Class

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

API

  
    abstract class PlatformLocation {}
  
  

getBaseHrefFromDOM

string
@returnsstring

getState

unknown
@returnsunknown

onPopState

VoidFunction

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

@returnsVoidFunction

onHashChange

VoidFunction

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

@returnsVoidFunction

href

string

protocol

string

hostname

string

port

string

pathname

string

hash

string

replaceState

void
@paramstateany
@paramtitlestring
@paramurlstring
@returnsvoid

pushState

void
@paramstateany
@paramtitlestring
@paramurlstring
@returnsvoid

forward

void
@returnsvoid

back

void
@returnsvoid

historyGo

void
@paramrelativePositionnumber
@returnsvoid

Description

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-server provides one suitable for use with server-side rendering.

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-agnostic.

Jump to details