Skip to content

useBrowserLocation

Category
Export Size
820 B
Last Changed
3 months ago

Reactive browser location

NOTE: If you're using Vue Router, use useRoute provided by Vue Router instead.

Demo

Input and hash will be changed:
trigger: load
state: {}
length: 2
origin: https://vueuse.org
hash: ''
host: vueuse.org
hostname: vueuse.org
href: https://vueuse.org/core/useBrowserLocation/
pathname: /core/useBrowserLocation/
port: ''
protocol: 'https:'
search: ''

Usage

js
import { useBrowserLocation } from '@vueuse/core'

const location = useBrowserLocation()

Component Usage

This function also provides a renderless component version via the @vueuse/components package. Learn more about the usage.

vue
<UseBrowserLocation v-slot="{ location }">
  Browser Location: {{ location }}
</UseBrowserLocation>

Type Declarations

Show Type Declarations
typescript
export interface BrowserLocationState {
  readonly trigger: string
  readonly state?: any
  readonly length?: number
  readonly origin?: string
  hash?: string
  host?: string
  hostname?: string
  href?: string
  pathname?: string
  port?: string
  protocol?: string
  search?: string
}
/**
 * Reactive browser location.
 *
 * @see https://vueuse.org/useBrowserLocation
 */
export declare function useBrowserLocation(options?: ConfigurableWindow): Ref<
  {
    readonly trigger: string
    readonly state?: any
    readonly length?: number | undefined
    readonly origin?: string | undefined
    hash?: string | undefined
    host?: string | undefined
    hostname?: string | undefined
    href?: string | undefined
    pathname?: string | undefined
    port?: string | undefined
    protocol?: string | undefined
    search?: string | undefined
  },
  | BrowserLocationState
  | {
      readonly trigger: string
      readonly state?: any
      readonly length?: number | undefined
      readonly origin?: string | undefined
      hash?: string | undefined
      host?: string | undefined
      hostname?: string | undefined
      href?: string | undefined
      pathname?: string | undefined
      port?: string | undefined
      protocol?: string | undefined
      search?: string | undefined
    }
>
export type UseBrowserLocationReturn = ReturnType<typeof useBrowserLocation>

Source

SourceDemoDocs

Contributors

Anthony Fu
Robin
Fernando Fernández
Anthony Fu
三咲智子 Kevin Deng
vaakian X
Mike
Eureka
Shinigami
wheat
Alex Kozack
Antério Vieira

Changelog

v12.5.0 on
eddbf - feat: more passive event handlers (#4484)
v12.0.0-beta.1 on
0a9ed - feat!: drop Vue 2 support, optimize bundles and clean up (#4349)
v10.0.0-beta.0 on
a860c - feat: two-way binding (#2168)

Released under the MIT License.

2 days of talks + 1 day of live coding.
50+ speakers. All major frameworks!
Join for Free ➜