 $locationShim class   Location service that provides a drop-in replacement for the $location service provided in AngularJS. class $locationShim {
  constructor($injector: any, location: Location, platformLocation: PlatformLocation, urlCodec: UrlCodec, locationStrategy: LocationStrategy)
  onChange(fn: (url: string, state: unknown, oldUrl: string, oldState: unknown) => void, err: (e: Error) => void = (e: Error) => { })
  $$parse(url: string)
  $$parseLinkUrl(url: string, relHref?: string): boolean
  absUrl(): string
  url(url?: string): string | this
  protocol(): string
  host(): string
  port(): number | null
  path(path?: string | number): string | this
  search(search?: string | number | { [key: string]: unknown; }, paramValue?: string | number | boolean | string[]): {...}
  hash(hash?: string | number): string | this
  replace(): this
  state(state?: unknown): unknown | this
} See also  
Using the Angular Unified Location Service   Constructor      constructor($injector: any, location: Location, platformLocation: PlatformLocation, urlCodec: UrlCodec, locationStrategy: LocationStrategy) Parameters     $injector  any      location  Location      platformLocation  PlatformLocation      urlCodec  UrlCodec      locationStrategy  LocationStrategy           Methods     onChange()       Registers listeners for URL changes. This API is used to catch updates performed by the AngularJS framework. These changes are a subset of the $locationChangeStart and $locationChangeSuccess events which fire when AngularJS updates its internally-referenced version of the browser URL.      onChange(fn: (url: string, state: unknown, oldUrl: string, oldState: unknown) => void, err: (e: Error) => void = (e: Error) => { }) Parameters     fn  (url: string, state: unknown, oldUrl: string, oldState: unknown) => void  The callback function that is triggered for the listener when the URL changes.     err  (e: Error) => void  The callback function that is triggered when an error occurs.  Optional. Default is (e: Error) => { }.          It's possible for $locationChange events to happen, but for the browser URL (window.location) to remain unchanged. This onChange callback will fire only when AngularJS actually updates the browser URL (window.location).         $$parse()       Parses the provided URL, and sets the current URL to the parsed result.      $$parse(url: string) Parameters     url  string  The URL string.              $$parseLinkUrl()       Parses the provided URL and its relative URL.      $$parseLinkUrl(url: string, relHref?: string): boolean Parameters     url  string  The full URL string.     relHref  string  A URL string relative to the full URL string.  Optional. Default is undefined.     Returns boolean          absUrl()       Retrieves the full URL representation with all segments encoded according to rules specified in RFC 3986.      absUrl(): string Parameters There are no parameters. Returns string      // given URL http://example.com/#/some/path?foo=bar&baz=xoxo
let absUrl = $location.absUrl();
// => "http://example.com/#/some/path?foo=bar&baz=xoxo"         url()         Retrieves the current URL, or sets a new URL. When setting a URL, changes the path, search, and hash, and returns a reference to its own instance.  url(): string Parameters There are no parameters. Returns string       url(url: string): this Parameters     url  string      Returns this      // given URL http://example.com/#/some/path?foo=bar&baz=xoxo
let url = $location.url();
// => "/some/path?foo=bar&baz=xoxo"         protocol()       Retrieves the protocol of the current URL.      protocol(): string Parameters There are no parameters. Returns string      // given URL http://example.com/#/some/path?foo=bar&baz=xoxo
let protocol = $location.protocol();
// => "http"         host()       Retrieves the protocol of the current URL.      host(): string Parameters There are no parameters. Returns string      In contrast to the non-AngularJS version location.host which returns hostname:port, this returns the hostname portion only. // given URL http://example.com/#/some/path?foo=bar&baz=xoxo
let host = $location.host();
// => "example.com"

// given URL http://user:gfreeman@example.net:8080/#/some/path?foo=bar&baz=xoxo
host = $location.host();
// => "example.com"
host = location.host;
// => "example.com:8080"         port()       Retrieves the port of the current URL.      port(): number | null Parameters There are no parameters. Returns number | null      // given URL http://example.com/#/some/path?foo=bar&baz=xoxo
let port = $location.port();
// => 80         path()         Retrieves the path of the current URL, or changes the path and returns a reference to its own instance.  path(): string Parameters There are no parameters. Returns string       path(path: string | number): this Parameters     path  string | number      Returns this      Paths should always begin with forward slash (/). This method adds the forward slash if it is missing. // given URL http://example.com/#/some/path?foo=bar&baz=xoxo
let path = $location.path();
// => "/some/path"         search()          3 overloads...  Show All Hide All     Overload #1   Retrieves a map of the search parameters of the current URL, or changes a search part and returns a reference to its own instance.  search(): {
    [key: string]: unknown;
} Parameters There are no parameters. Returns `{ }: The parsedsearchobject of the current URL, or the changedsearch` object.  Overload #2  search(search: string | number | { [key: string]: unknown; }): this Parameters     search  string | number | { [key: string]: unknown; }      Returns this  Overload #3  search(search: string | number | { [key: string]: unknown; }, paramValue: string | number | boolean | string[]): this Parameters     search  string | number | { [key: string]: unknown; }      paramValue  string | number | boolean | string[]      Returns this        // given URL http://example.com/#/some/path?foo=bar&baz=xoxo
let searchObject = $location.search();
// => {foo: 'bar', baz: 'xoxo'}

// set foo to 'yipee'
$location.search('foo', 'yipee');
// $location.search() => {foo: 'yipee', baz: 'xoxo'}         hash()         Retrieves the current hash fragment, or changes the hash fragment and returns a reference to its own instance.  hash(): string Parameters There are no parameters. Returns string       hash(hash: string | number): this Parameters     hash  string | number      Returns this      // given URL http://example.com/#/some/path?foo=bar&baz=xoxo#hashValue
let hash = $location.hash();
// => "hashValue"         replace()       Changes to $location during the current $digest will replace the current history record, instead of adding a new one.      replace(): this Parameters There are no parameters. Returns this          state()         Retrieves the history state object when called without any parameter.  state(): unknown Parameters There are no parameters. Returns unknown       state(state: unknown): this Parameters     state  unknown      Returns this      Change the history state object when called with one parameter and return $location. The state object is later passed to pushState or replaceState. This method is supported only in HTML5 mode and only in browsers supporting the HTML5 History API methods such as pushState and replaceState. If you need to support older browsers (like IE9 or Android < 4.0), don't use this method.     

    
{'path': 'public/docs/angular~9/api/common/upgrade/$locationshim.html', 'source': 'DevDocs.IO'}