This is the archived documentation for Angular v5. Please visit angular.io to see documentation for the current version of Angular.

PlatformLocation

npm Package @angular/common
Module import { PlatformLocation } from '@angular/common';
Source common/src/location/platform_location.ts

Overview

      
      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
}
    

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

Members

      
      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