useDevicePixelRatio
Reactively track window.devicePixelRatio
NOTE: there is no event listener for
window.devicePixelRatio
change. So this function usesTesting media queries programmatically (window.matchMedia)
applying the same mechanism as described in this example.
Demo
Device Pixel Ratio:
pixelRatio: 1Zoom in and out (or move the window to a screen with a different scaling factor) to see the value changes
Usage
ts
import { useDevicePixelRatio } from '@vueuse/core'
const { pixelRatio } = useDevicePixelRatio()
Component Usage
This function also provides a renderless component version via the
@vueuse/components
package. Learn more about the usage.
vue
<template>
<UseDevicePixelRatio v-slot="{ pixelRatio }">
Pixel Ratio: {{ pixelRatio }}
</UseDevicePixelRatio>
</template>
Type Declarations
ts
/**
* Reactively track `window.devicePixelRatio`.
*
* @see https://vueuse.org/useDevicePixelRatio
*
* @__NO_SIDE_EFFECTS__
*/
export declare function useDevicePixelRatio(options?: ConfigurableWindow): {
pixelRatio: Readonly<Ref<number, number>>
stop: WatchStopHandle
}
export type UseDevicePixelRatioReturn = ReturnType<typeof useDevicePixelRatio>