useDeviceOrientation ​
Reactive DeviceOrientationEvent. Provide web developers with information from the physical orientation of the device running the web page.
Demo ​
isSupported: false
isAbsolute: false
alpha: null
beta: null
gamma: null
Usage ​
js
import { useDeviceOrientation } from '@vueuse/core'
const {
isAbsolute,
alpha,
beta,
gamma,
} = useDeviceOrientation()
State | Type | Description |
---|---|---|
isAbsolute | boolean | A boolean that indicates whether or not the device is providing orientation data absolutely. |
alpha | number | A number representing the motion of the device around the z axis, express in degrees with values ranging from 0 to 360. |
beta | number | A number representing the motion of the device around the x axis, express in degrees with values ranging from -180 to 180. |
gamma | number | A number representing the motion of the device around the y axis, express in degrees with values ranging from -90 to 90. |
You can find more information about the state on the MDN.
Component Usage ​
This function also provides a renderless component version via the
@vueuse/components
package. Learn more about the usage.
vue
<template>
<UseDeviceOrientation v-slot="{ alpha, beta, gamma }">
Alpha: {{ alpha }}
Beta: {{ beta }}
Gamma: {{ gamma }}
</UseDeviceOrientation>
</template>
Type Declarations ​
typescript
/**
* Reactive DeviceOrientationEvent.
*
* @see https://vueuse.org/useDeviceOrientation
* @param options
*/
export declare function useDeviceOrientation(options?: ConfigurableWindow): {
isSupported: ComputedRef<boolean>
isAbsolute: Ref<boolean>
alpha: Ref<number | null>
beta: Ref<number | null>
gamma: Ref<number | null>
}
export type UseDeviceOrientationReturn = ReturnType<typeof useDeviceOrientation>
Source ​
Contributors ​
Anthony Fu
Antério Vieira
vaakian X
Jelf
Shinigami
wheat
Alex Kozack