On this page
$locationShim
class
final
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
Constructor
|
$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 |
||||||
|
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 |
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. |
|||
|
url |
string |
The URL string. |
$$parseLinkUrl()
|
||||||
---|---|---|---|---|---|---|
Parses the provided URL and its relative URL. |
||||||
|
url |
string |
The full URL string. |
relHref |
string |
A URL string relative to the full URL string. Optional. Default is |
Returns
boolean
absUrl()
|
---|
Retrieves the full URL representation with all segments encoded according to rules specified in RFC 3986. |
|
|
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 |
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. |
|
|
host()
|
---|
Retrieves the protocol of the current URL. |
|
In contrast to the non-AngularJS version
|
port()
|
---|
Retrieves the port of the current URL. |
|
|
path()
|
|||
---|---|---|---|
Retrieves the path of the current URL, or changes the path and returns a reference to its own instance.
|
|||
|
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()
|
|||||||||
---|---|---|---|---|---|---|---|---|---|
|
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 | number |
Returns
this
// given URL http://example.com/#/some/path?foo=bar&baz=xoxo#hashValue
let hash = $location.hash();
// => "hashValue"
replace()
|
---|
Changes to |
|
state()
|
|||
---|---|---|---|
Retrieves the history state object when called without any parameter.
|
|||
|
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 Android < 4.0), don't use this method.
© 2010–2022 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://v13.angular.io/api/common/upgrade/$locationShim